Canny 算法快速实现 opencv

一. 算法原理:

可参考: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