当前位置:   article > 正文

cv2.Canny(image, threshold1, threshold2)_cv2.cannythreshold2

cv2.cannythreshold2

项目里需要用到边缘检测相关的内容,需要对预测的病灶进行勾勒(模型识别出来是白色实心的),涉及到了边缘检测的知识点.这本该是本科图像处理课上应该掌握的知识点,但是没好好学,再次感受到出来混迟早都要还的,为了彻底搞懂,特此记录。

官网上的解释都太简单难懂了,本篇内容借鉴了一些https://zhuanlan.zhihu.com/p/42122107,这位大哥讲的特别好,反正我听懂了。

我们先来看官网怎么解释的https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_canny/py_canny.html

它说Canny边缘检测分四个阶段

1.去噪。通过一个5*5的高斯滤波器完成;

2.找图像的密度梯度。听起来有点难懂,实际上就是找“边缘”,边缘两侧图像的亮度一般会相差比较大。通过分别在图像的水平和垂直方向利用Sobel kernel得到两个方向的梯度。

3.过滤非最大值。在高斯滤波中,边缘很有可能被放大了。这个步骤使用一个规则来过滤不是边缘的点,使边缘宽度尽可能是一个像素点。

4.使用两个值域来检测边缘。一般情况下,使用一个阀值来检测边缘,但是这样做未免太武断了。如果能够使用启发式的方法确定一个上阀值和下阀值,位于下阀值之上的都可以作为边缘,这样就可能提高准确度。它设置两个阀值(threshold),分别为maxVal和minVal。其中大于maxVal的都被检测为边缘,而低于minval的都被检测为非边缘。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/173451
推荐阅读
相关标签
  

闽ICP备14008679号