初识OpenCV-Python - 010: 精致边缘探测

Posted august2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识OpenCV-Python - 010: 精致边缘探测相关的知识,希望对你有一定的参考价值。

本节主要介绍使用Canny函数达到边缘探测的结果。

Code:

import cv2
from matplotlib import pyplot as plt

img = cv2.imread(‘ball.png‘,0)
/**
Canny(image, threshold1, threshold2[,edges[,apertureSize[,L2gradient]]]
Canny 实现步骤:
1.去除噪音(一般使用高斯函数)
2. 找到图像的梯度
3.Non-maximum抑制
4.磁滞阈值(2个阈值,最小值和最大值:
大于最大值的一定是边界,
小于最小值的肯定不是边界,去掉。
处于最小值和最大值之间的,要看关联,与肯定是边界的关联,那么该值判定为边界值,反之,则不为边界值)
**/
edges = cv2.Canny(img, 100,200)

plt.subplot(121),plt.imshow(img,cmap = ‘gray‘)
plt.title(‘Original Image‘), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = ‘gray‘)
plt.title(‘Edge Image‘), plt.xticks([]), plt.yticks([])
plt.show()

技术图片

 


 

 

以上是关于初识OpenCV-Python - 010: 精致边缘探测的主要内容,如果未能解决你的问题,请参考以下文章

初识OpenCV-Python - 007: 平滑图像

初识OpenCV-Python - 002: Drawing functions

初识OpenCV-Python - 005: 识别视频中的蓝色

初识OpenCV-Python - 004: Trackbar as the color palette

初识OpenCV-Python - 003:Mouse as a paint-brush

[OpenCV-Python] OpenCV 中的图像处理 部分 IV (四)