坎尼边缘检测算法示例
在计算机视觉领域中,边缘检测是一项重要的基础工作。坎尼边缘检测算法是一种经典的边缘检测方法,它可以用于检测图像中的边缘和轮廓线。本文将为大家介绍坎尼边缘检测算法,并提供相应的 Python 代码实现。
坎尼边缘检测算法简介
坎尼边缘检测算法是一种基于梯度的边缘检测方法,其基本思想是在图像中寻找一些极值点,并将这些极值点连接成为边缘线。坎尼边缘检测算法的步骤如下:
- 去噪:使用高斯滤波器对图像进行平滑处理,去除噪声干扰。
- 计算梯度:使用 Sobel 算子计算图像的水平方向和垂直方向上的梯度值。
- 非极大值抑制:对图像中的每个像素点,在梯度方向上寻找局部最大值点,并将其标记为边缘点。
- 双阈值检测:根据用户设置的阈值,对标记为边缘点的像素进行分类,分为强边缘、弱边缘和非边缘三类。
- 边缘链接:将弱边缘和强边缘进行连接,生成完整的边缘线。
坎尼边缘检测算法实现
下面的代码演示了如何使用 OpenCV 库中的 Canny 函数实现坎尼边缘检测算法。在本例中,我们将使用一张名为 “lena.jpg” 的图片进行测试。
import cv2
# 读取图像
img = cv2.imread("lena.jpg", cv2.IMREAD_GRAYSCALE)
# 进行高斯平滑处理
img &#