根据我的研究,Canny Edge Detector对于检测图像边缘非常有用. 经过大量的努力改进的自适应阈值canny边缘检测,我发现OpenCV函数可以做到这一点改进的自适应阈值canny边缘检测,
Imgproc.Canny(Mat image, Mat edges, double threshold1, double threshold2)
但是对于低阈值和高阈值,我知道不同的图像具有不同的阈值,所以我知道是否有任何快速的自适应阈值方法可以根据不同的图像自动分配低阈值和高阈值?
最佳答案
这相对容易. 查看有关此主题的旧文章.
一种快速的方法是计算当前图像的平均值和标准偏差,并对图像应用/ –标准偏差.
C中的示例如下:
Mat img = ...;
Scalar mu, sigma;
meanStdDev(img, mu, sigma);
Mat edges;
Canny(img, edges, mu.val[0] - sigma.val[0], mu.val[0] + sigma.val[0]);
另一种方法是计算图像的中值,目标是上下的中值之比(例如0.66 *中值和1.33 *中值).
希望有帮助!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-174874-1.html