Opencv实现Canny边缘检测

import cv2 import numpy as np #Canny边缘检测 img = cv2.imread("img1.jpg") cv2.imwrite("imgCanny1.jpg", cv2.Canny(img, 200, 300)) cv2.imshow("canny",cv2.imread("imgCanny1.jpg")) cv2.waitKey() cv2.destroyAllWindows()

Canny检测在opencv上的实现非常简单,就是一行代码的事儿。但是实际的算法步骤还是比较复杂的:
【Opencv实现Canny边缘检测】有五个步骤:
1、使用高斯滤波器对图像进行去噪;
2、计算梯度;
3、在边缘使用非最大抑制(NMS);
4、在检测到的边缘上使用双阈值去除假阳性(false positive);
5、分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘。

    推荐阅读