1. 实验目的
熟悉opencv读入图片,显示图像,了解canny边缘检测的用途及原理.
2.实验设备
安装了python和pychrm的电脑一台。
3.实验内容
包含图片的导入、canay边缘检测
4.实验原理
什么是边缘?
边缘一般是指图像在某一局部强度剧烈变化的区域。强度变化一般有两种情况:阶跃变化和屋顶变化。
1.阶跃变化
灰度变化图像如下图所示(横轴表示空间变化,纵轴表示灰度变化,虚线表示边缘):

图1.1.1 像素值阶跃变化
此图对应的是向亮渐变的过程。
2.屋顶变化
灰度变化图像如下图所示(横轴表示空间变化,纵轴表示灰度变化,虚线表示边缘):

图1.1.2 像素值屋顶变化
此图对应得实由暗到亮再变暗的过程。而边缘检测的任务:找到具有阶跃变化或者屋顶变化的像素点的集合。
边缘检测基本原理:
既然边缘是灰度变化最剧烈的位置,最直观的想法就是求微分。对于第一种情况:一阶微分的峰值为边缘点,二阶微分的零点为边缘点。对于第二种情况:一阶微分的零点为边缘点,二阶微分的峰值为边缘点。
OpenCV提供了许多边缘检测滤波春数,包括Laplacian()、Sobel()以及Scharr()等。这些滤波函数都会将非边缘区域转为黑色,将边缘区域转为白色或其他饱和的颜色。但是,这些函数都很容易将噪声错误地识别为边缘。缓解这个问题的方法是在找到边缘之前对图像进行模糊处理。OpenCV也提供了许多模糊滤波函数,包括blur()(简单的算术平均)、medianBlur()以及GaussianBlur()。边缘检测滤波函数和模糊滤波丽数的参数有很多,但总会有一个ksize(滤波核尺寸)参数,它是一个奇数,表示滤波核的宽和高。
Canny边缘检测,它对受白噪声影响的阶跃型边缘是最优的,canny检测子的最优性与以下三个标准有关:
检测标准:不丢失重要的边缘,不应有虚假的边缘
定位标准:实际边缘与检测到的边缘位置之间的偏差最小
单响应标准:将多个响应降低为单个边缘响应。这一点被第一个标准部分地覆盖了,因为当有两个响应对应于单个边缘时,其中之一应该被认为是虚假的。这第三个标准解决受噪声影响的边缘问题,起抵制非平滑边缘检测

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



