cv2.Canny(image, threshold1, threshold2)

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

官网上的解释都太简单难懂了,本篇内容借鉴了一些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的都被检测为非边缘。对于中间的像素点,如果与确定为边缘的像素点邻接,则判定为边缘;否则为非边缘。

 

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值