原理:


实现:
/**
* @description: DOG算子
* @param src 输入图像
* @param dst 输出图像
* @param size 掩膜大小
* @param sigma 方差
* @param k 系数
*/
void DOG(cv::Mat& src, cv::Mat& dst, cv::Size size, double sigma, double k = 1.6)
{
cv::Mat gaussian_dst1, gaussian_dst2;
cv::GaussianBlur(src, gaussian_dst1, size, k*sigma);
cv::GaussianBlur(src, gaussian_dst2, size, sigma);
dst = gaussian_dst1 - gaussian_dst2;
cv::threshold(dst, dst, 0, 255, cv::THRESH_BINARY);
}
该博客介绍了DOG(Difference of Gaussian)算子的实现细节,通过双高斯模糊然后相减来检测图像中的边缘。代码中展示了如何使用OpenCV库进行高斯模糊操作,并应用阈值处理以获得二值化结果。
2万+

被折叠的 条评论
为什么被折叠?



