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上的实现非常简单,就是一行代码的事儿。但是实际的算法步骤还是比较复杂的:

有五个步骤:

1、使用高斯滤波器对图像进行去噪;

2、计算梯度;

3、在边缘使用非最大抑制(NMS);

4、在检测到的边缘上使用双阈值去除假阳性(false positive);

5、分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘。

你可能感兴趣的:(openCV)