Python OpenCV 影像处理:边缘检测

►前言

上篇介绍使用OpenCV Python findContours() 函数用于在二值化影像中寻找连通的白色区域,并返回一系列点的集合来表示找到的轮廓。本篇将介绍基于计算影像的梯度,通过在影像中找到梯度值的变化来识别边缘,边缘检测通常用于预处理步骤,以帮助后续的物体侦测、分割或其他影像处理任务。透过程式码的说明,让各位了解OpenCV Python于图像处理上的基本操作。

►边缘检测定义

边缘检测是指在数字图像中寻找并识别物体边界的过程。在影像处理中,边缘通常表示著图像中不同区域之间的剧烈变化或不连续性,这些变化可能由物体的几何结构、亮度、颜色或纹理等特征引起。边缘检测的目标是找到这些变化的位置,以便进一步的分析和处理,例如物体侦测、图像分割、特征提取等。常见的边缘检测算法有Canny边缘检测、Sobel算子、Laplacian算子等。

►Canny边缘检测

OpenCV提供Canny ()函数用于在灰度影像中寻找轮廓。由于边缘侦测容易受到影像中杂讯的影响,因此用 5x5 高斯滤波器去除影像中的杂讯。然后使用 Sobel 在水平和垂直方向上对平滑后的图像进行滤波,获得水平方向上的一阶导数(??

)和垂直方向(??),如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值