一. 算法原理:
可参考:https://www.cnblogs.com/wojianxin/p/12533526.html https://www.jianshu.com/p/ff4c1a6a68d8
二. opencv 函数 cv.Canny 快速实现 Canny 边缘检测算法(必须先搞懂算法流程,才能正确使用该函数):

opencv 官方文档 函数说明 ↑

参数说明,有不懂的参数可参考第一部分的链接。 ↑
三. 使用函数快速进行边缘检测
1 import cv2
2
3 import numpy as np
4
5 from matplotlib import pyplot as plt
6
7 img = cv2.imread('../head_g.jpg',0)
8
9 # 80以下被归为0,200以上被归为255
10
11 edges = cv2.Canny(img,80,200)
12
13 plt.subplot(121),plt.imshow(img,cmap = 'gray')
14
15 # plt.xticks([]) 不显示x轴
16
17 plt.title('Original Image'), plt.xticks([]), plt.yticks([])
18
19 plt.subplot(122),plt.imshow(edges,cmap = 'gray')
20
21 plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
22
23 plt.show()
四. 实验结果:

Canny 边缘检测算法输出结果 ↑
五. 本文章内容主要摘自 opencv 官方文档
https://docs.opencv.org/3.1.0/da/d22/tutorial_py_canny.html
来源:https://www.cnblogs.com/wojianxin/p/12536749.html