在OpenCV中使用Canny边缘检测

本文介绍了如何在Python中使用OpenCV库的Canny算法进行边缘检测。通过高斯平滑减少噪声,计算梯度,应用非极大值抑制,选择阈值,实现图像的边缘检测。讨论了确定阈值的挑战,并提供了一个自动边缘检测的函数,该函数基于图像的中位数和sigma值来确定合适的阈值,从而获得清晰的边缘效果。
摘要由CSDN通过智能技术生成

边缘检测是非常常见和广泛使用的图像处理,对于许多不同的计算机视觉应用非常必要,如数据提取,图像分割,在更细粒度的特征提取和模式识别中。它降低了图像中的噪声和细节数量,但保留了图像的结构。

Python中的Canny边缘检测是计算机视觉中最流行的边缘检测方法之一。以下是Canny边缘检测的步骤:

1.使用高斯平滑来减少噪声

2.计算梯度

3.应用非极大值抑制以减少噪声

4.找到上下阈值

5.应用阈值。

幸运的是,OpenCV库有cv2.canny()函数,可为我们执行Canny边缘检测。

在本文中,我们将直接使用OpenCV执行边缘检测。

import cv2 
import matplotlib.pyplot as plt

我们将使用以下图片进行今天的教程:

0769cd124831cb4ebece07955b7cdf64.jpeg

Canny边缘检测的第一步是应用高斯模糊。在模糊之前,将图像转换为灰度也很重要:

image = cv2.imread("meter.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

现在,我们可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值