📅  最后修改于: 2023-12-03 15:06:49.351000             🧑  作者: Mango
Canny 边缘检测器是一种常见的图像处理算法,可以有效地检测图像中的边缘。OpenCV 是一个流行的开源计算机视觉库,提供了 Canny 边缘检测器的实现。本文将介绍如何在 Python 中使用 OpenCV 实现 Canny 边缘检测器。
在开始编写代码之前,需要安装以下软件:
在终端中执行以下命令安装 OpenCV Python 扩展包:
pip install opencv-python
安装完成后,即可开始编写代码。
首先,引入必要的库:
import cv2
import numpy as np
接下来,加载图像并将其转换为灰度图像:
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
然后,使用 Gaussian 滤波对图像进行平滑处理:
blur = cv2.GaussianBlur(gray,(5,5),0)
最后,使用 Canny 边缘检测器检测图像中的边缘:
edges = cv2.Canny(blur,50,150)
完整的代码如下:
import cv2
import numpy as np
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray,(5,5),0)
edges = cv2.Canny(blur,50,150)
cv2.imshow('Original Image',img)
cv2.imshow('Canny Edges',edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imread()
函数用于加载图像。该函数返回一个 NumPy 数组,表示图像的像素值。参数 'test.jpg'
指定要加载的图像文件路径。cv2.cvtColor()
函数用于将图像转换为灰度图像。参数 cv2.COLOR_BGR2GRAY
指定了要使用的颜色转换方式。cv2.GaussianBlur()
函数用于对图像进行平滑处理。参数 (5,5)
指定了用于卷积的内核大小。参数 0
指定了高斯函数的标准差。cv2.Canny()
函数用于检测图像中的边缘。参数 50
和 150
是 Canny 边缘检测器中的两个阈值,用于确定边缘的强度。本文介绍了如何在 Python 中使用 OpenCV 实现 Canny 边缘检测器。编写代码时需要注意加载图像、转换为灰度图像、平滑处理和使用 Canny 边缘检测器等步骤。使用 Canny 边缘检测器可以有效地检测图像中的边缘。