目录
步骤:
1. 使用高斯滤波器,以平滑图像,滤除噪声。
2.计算图像中每个像素点的梯度强度和方向。
3.应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
4.应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
5通过抑制孤立的弱边缘最终完成边缘检测。
具体实现如下:
1.高斯滤波
2.梯度与方向
用的是sobel算子,需要计算x,y方向
3.非极大值抑制
注:
注:这种是简化后的,就是比较A点跟B、C两点相比的幅值大小,如果A点梯度值是最大的,就保 留下A点。
4.双阈值检测
在opencv上调用很简单,就一行代码
res=cv2.canny(img,50,100)
# img:待处理图像
50,100:双阈值,需自己输入,一般来说minval,maxval小,轮廓更详细
处理图
![](https://i-blog.csdnimg.cn/blog_migrate/fe94da4478d6e94d4be465f2c5e4e399.png)