MATLAB图像处理---特征提取
图像的边缘检测 edge
图像的边界是指其周边像素灰度发生剧烈变化所形成的像素集合;它是图像最本质的特征之一;通常被视为位置标志;对于灰度的变化不敏感;因此在图像匹配中也扮演着非常重要的角色;而边缘检测的基本思想就是首先识别出图像中的所有边缘点;然后通过特定策略将这些边缘点连接起来形成轮廓;从而构建出分割区域;最终的目的就是识别亮度变化显著突出的位置点;这种技术不仅可以有效地减少数据量;还能去除那些相对不重要的细节信息;同时又能保留住图像中最关键的结构特性。
2.Prewitt算子
Prewitt 算子用于一阶微分算子实现的图像边缘检测技术。它基于像素采样及其周围相邻像素之间的亮度差异计算,在发生极值时能够识别出发生极值的位置,并从而抑制虚假边缘的影响。A基本原理是通过对图像的空间进行两次不同的梯度运算得到两个方向上的变化梯度幅值;这两个方向模板分别对应于水平和垂直的变化梯度幅值测量。
对数字图像f(x,y),Prewitt算子的定义如下:
G(i)=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|
G(j)=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|
则 P(i,j)=max[G(i),G(j)]或 P(i,j)=G(i)+G(j)
注
该滤波器具有抑制噪声的效果。其主要原理是基于像素平均运算。然而这种处理方式等同于图像进行低通滤波处理。因此在边缘检测方面该方法的效果相对逊色于Roberts算子。
由于计算平均值通常有助于减少噪声的影响,在应用Prewitt梯度算子法时会首先对图像进行平滑处理以降低噪声干扰;随后通过计算相邻像素之间的差异值来精确定位边缘区域
3.Canny算子
Canny算子由滤波、增强与检测三个功能组成,并且是一个多步骤优化算法,在处理之前,Canny算子通过高斯平滑滤波器对图像进行去噪处理,在采用一阶偏导有限差分的方法基础上计算出梯度幅值与方向,在处理过程中,Canny算子还会经历一个非极大值抑制步骤,最后通过高低两个阈值来连接边缘
Canny边缘检测算法
(1): 用高斯滤波器平滑图象;
(2): 用一阶偏导的有限差分来计算梯度的幅值和方向;
(3): 对梯度幅值进行非极大值抑制
(4): 用双阈值算法检测和连接边缘
图象边缘检测需满足两个关键条件:其一应能显著抑制噪声;其二必须尽量精确地确定边缘位置。基于信噪比与定位乘积的评估,得出了最优逼近算子。这就是著名的Canny边缘检测方法。
4.对所输入的图像进行边缘检测

