OpenCV图像处理技术(Python)——Canny边缘检测

OpenCV图像处理技术(Python)——Canny边缘检测

© Fu Xianjun. All Rights Reserved.
OpenCV图像处理技术(Python)——Canny边缘检测_第1张图片

1.去燥
OpenCV图像处理技术(Python)——Canny边缘检测_第2张图片

2.计算梯度
OpenCV图像处理技术(Python)——Canny边缘检测_第3张图片

3.非极大值抑制
目的:边缘细化

OpenCV图像处理技术(Python)——Canny边缘检测_第4张图片

4.双阈值边缘

OpenCV图像处理技术(Python)——Canny边缘检测_第5张图片

知识储备:
OpenCV图像处理技术(Python)——Canny边缘检测_第6张图片
Canny边缘检测
(1) 使用高斯滤波器,以平滑图像,滤除噪声。
(2) 计算图像中每个像素点的梯度强度和方向。
(3) 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
(4) 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
(5) 通过抑制孤立的弱边缘最终完成边缘检测。

OpenCV图像处理技术(Python)——Canny边缘检测_第7张图片

import cv2
def doCanny(x):
position = cv2.getTrackbarPos(“CannyBar”, “Canny”)
canny = cv2.Canny(gauss, position, position*2.5)
cv2.imshow(“Canny”, canny)

img = cv2.imread(“peppa.png”,0)
gauss = cv2.GaussianBlur(img, (3, 3), 1)

cv2.namedWindow(“Canny”)
cv2.createTrackbar(“CannyBar”, “Canny”, 1, 100, doCanny)
cv2.waitKey()
cv2.destroyAllWindows()

本小节到此结束,谢谢大家!
未成年人禁止吸烟!!!

你可能感兴趣的:(OpenCV图像处理技术(Python)——Canny边缘检测)