📜  Python OpenCV – Canny()函数(1)

📅  最后修改于: 2023-12-03 14:46:01.437000             🧑  作者: Mango

Python OpenCV – Canny()函数

Canny()函数是OpenCV中一个非常流行的边缘检测函数,用于检测图像中的边缘。它通过计算图像中每个像素与其邻域像素的梯度来确定边缘。这个函数的好处是可以通过调整参数来控制边缘的检测程度。在本文中,我们将介绍如何使用Python和OpenCV中的Canny()函数来实现图像边缘检测。

1. 安装OpenCV

在使用OpenCV之前,需要先安装OpenCV。安装教程可以在OpenCV官方网站上找到。

2. 导入必要的库

在使用Canny()函数之前,需要导入必要的Python库。

import cv2
import numpy as np
import matplotlib.pyplot as plt
3. 使用Canny()函数进行边缘检测

接下来,我们将使用Canny()函数来进行边缘检测。在这个例子中,我们将使用一个名为“Lenna”的著名图像。

img = cv2.imread('lenna.jpg',0)
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()

在这个例子中,我们使用Canny()函数对灰度图像进行边缘检测。函数的第一个参数是输入图像,第二个参数和第三个参数是最小和最大的阈值。只有在大于最小值和小于最大值之间的梯度值才会被认为是边缘。如果梯度值小于最小值,则将其丢弃。如果梯度值大于最大值,则将其标记为边缘。

4. 结论

Canny()函数是Python OpenCV中非常实用的边缘检测函数。通过简单地调整阈值,我们可以获得不同程度的边缘检测结果。无论是作为计算机视觉的初学者还是专业人员,都应该掌握这个函数的使用方法。