边缘检测是非常常见和广泛使用的图像处理,对于许多不同的计算机视觉应用非常必要,如数据提取,图像分割,在更细粒度的特征提取和模式识别中。它降低了图像中的噪声和细节数量,但保留了图像的结构。
Python中的Canny边缘检测是计算机视觉中最流行的边缘检测方法之一。以下是Canny边缘检测的步骤:
1.使用高斯平滑来减少噪声
2.计算梯度
3.应用非极大值抑制以减少噪声
4.找到上下阈值
5.应用阈值。
幸运的是,OpenCV库有cv2.canny()函数,可为我们执行Canny边缘检测。
在本文中,我们将直接使用OpenCV执行边缘检测。
import cv2
import matplotlib.pyplot as plt
我们将使用以下图片进行今天的教程:
Canny边缘检测的第一步是应用高斯模糊。在模糊之前,将图像转换为灰度也很重要:
image = cv2.imread("meter.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
现在,我们可