公司网站建设推荐q479185700顶上,有赞微商城入口,石家庄英文网站建设,专业网站推广优化Python-OpenCV中的图像处理-边缘检测 边缘检测Canny算子 边缘检测Canny算子 Canny 边缘检测是一种非常流行的边缘检测算法#xff0c;是 John F.Canny 在 1986 年提出的。它是一个有很多步构成的算法#xff1a;噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。 Canny(i… Python-OpenCV中的图像处理-边缘检测 边缘检测Canny算子 边缘检测Canny算子 Canny 边缘检测是一种非常流行的边缘检测算法是 John F.Canny 在 1986 年提出的。它是一个有很多步构成的算法噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。 Canny(image: Mat, threshold1, threshold2, edges…, apertureSize…, L2gradient…) 在 OpenCV 中只需要一个函数 cv2.Canny()就可以实现边缘检测。第一个参数是输入图像。第二和第三个分别是 minVal 和 maxVal。第三个参数设置用来计算图像梯度的 Sobel卷积核的大小默认值为 3。最后一个参数是 L2gradient它可以用来设定求梯度大小的方程。如果设为 True就会使用我们上面提到过的方程否则使用方程 Edge−Gradient (G) jG2 xj jG2 yj 代替默认值为 False。
import numpy as np
import cv2
from matplotlib import pyplot as pltimg cv2.imread(./resource/opencv/image/messi5.jpg, cv2.IMREAD_GRAYSCALE)edges cv2.Canny(img, 100, 200) # 边缘检测plt.subplot(121), plt.imshow(img, gray), plt.title(origin), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, gray), plt.title(edges), plt.xticks([]), plt.yticks([])
plt.show()