Advertisement

图像特征提取

阅读量:

图像的边缘检测基本原理

图像的边缘是指其周围像素灰度急剧变化的那些像素的集合,它是图像最基本的特征。边缘存在于目标、背景和区域之间,所以,它是图像分割所依赖的最重要的依据,由于边缘是位置的标志,对灰度的变化不敏感,因此,边缘也是图像匹配的重要特征。

边缘检测基本思想是先检测图像中的边缘点,再按照某种策略将边缘点连接成轮廓,从而构成分割区域。由于边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开,因此边缘检测对于数字图像处理十分重要。

在MATLAB图像处理工具箱中,提供了与图像边缘检测相关的函数:

BW=edge(I,method,’threshold’);

功能是对所输入的灰度图像进行边缘检测

输入:I-输入灰度图像;method-进行边缘检测的方法可以设置为sobel、prewit、roberts、log、zerocross、canny;

threshold-为锁定的阈值。

输出:BW-经过检测后的二值图像。

例题如下

2.Harries角点的基本原理

在MATLAB图像处理工具箱中,提供了与角点检测相关的函数cornermetric( ):

CM=cornermetric(I,method,’SensitivityFactor’)

功能:对所输入的灰度图像进行角点检测。

输入:I-输入的灰度图像;method-角点检测的方法,可设置为Harrris或MinimumEigenvalue其默认值为Harris;SensitivityFactor-采用Harries检测时的敏感因子,默认值为0,04。

输出:CM-角点矩阵,其大小与输入图像矩阵大小相同,原图像中可能是角点的位置在矩阵中的相应位置具有较大的取值。

例题是调用cornermetrics( )对输入图像进行Harris角点检测的MATLAB程序,其运行结果如图所示

3.SURF 特征提取

SURF将DoH中的高斯二阶微分模板进行了近似简化,使得模板对图像的滤波只需要进行几个简单的加减法运算,并且,这种运算与滤波模板的尺寸无关,从而极大地提高了尺寸不变的特征检测速度.

points=detectSURFFeatures(I,Name,Value)

功能是用于检测灰度图像的SURF特征;

输入:I-待检测的灰度图像;Name,Vakue-MetricThreshold:矩阵阈值,只有大于该阈值的才能确定为SURF特征点,默认值为1000;NumOctaves:组数(Octaves);默认值为3;NumScaleLeves:每组的尺度层数,默认值为4.

输出:POINTS-返回的一个对象,其中包含着SURF特征点的信息

下面例题是调用detectSURFFeatures( )函数运行程序:

I=imread('cameraman.tif');
points = detectSURFFeatures(I);

%显示最强的十个SURF特征点;

imshow(I),hold on;
plot(points.selectStrongest(10));

全部评论 (0)

还没有任何评论哟~