什么是图像边缘:
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。
什么是灰度值:
指图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0.
边缘有正负之分,就像导数有正值也有负值一样:由暗到亮为正,由亮到暗为负
什么是边缘提取:
边缘检测主要是图象的灰度变化的度量、检测和定位。
说人话就是检测出某一块区域灰度值(RGB)变化贼大的地方,如下图:
高频信号&低频信号:
图像中的低频信号和高频信号也叫做低频分量和高频分量。简单一点说,图像中的高频分量,指的是图像强度(亮度/灰度)变化剧烈的地方,也就是边缘(轮廓,上图左边就是);
图像中的低频分量,指的是图像强度(亮度/灰度)变换平缓的地方,也就是大片色块的地方。
人眼对图像中的高频信号更为敏感。
怎么理解呢?不说人话就是边缘的变化率的绝对值很大.这啥玩意儿,导数嘛(卖个关子,往下看).
边缘检测的步骤:
1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波。
2)增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将图像灰度点邻域强度值有显著变化的点凸显出来。在具体编程实现时,可通过计算梯度幅值来确定。
3)检测:经过增强的图像,往往邻域中有很多点的梯度值比较大,而在特定的应用中,这些点并不是我们要找的边缘点,所以应该采用某种方法来对这些点进行取舍。实际工程中,常用
的方法是通过阈值化方法来检测。
边缘检测的原理:
关于边缘检测的基础来自于一个事实,
即在边缘部分,像素值出现”跳跃“或者较大的变化。
如果在此边缘部分求取一阶导数,就会看到极值的出现。
而在一阶导数为极值的地方,二阶导数为0,基于这个原理,就可以进行边缘检测。
一阶导数的物理意义:切线斜率变化的速度,表示的是一阶导数的变化率.
二阶导数的物理意义:函数的凹凸性(例如加速度的方向总是指向轨迹曲线凹的一侧).
如图:左边是正常的函数f(t)右边是它的一阶导数f'(t),圆圈用来表示它的斜率的变化,左图这里是变化最快的,右图的定点表示的就是变化率(斜率)的数值.
求二阶导数呢?
look!那就是看一阶导数的变化率喽.
图像锐化:
图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。
图像锐化是为了突出图像上的物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。
来,看妞,懂了吧
常见手段:
拉普拉斯变换核函数
图像平滑:
图像平滑是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和干扰高频成分的图像处理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。
继续看妞,DDDD
常见手段:
Prewitt算子:
Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向
模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。
Sobel算子:
Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两个模板来检测图像边缘:
缺点是Sobel算子并没有将图像的主题与背景严格地区分开来,换言之就是Sobel算子并没有基于图像灰度进行处理,由于Sobel算子并没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。如下图:使用Sobel进行灰度处理后的图像.