图像边缘检测、角点特征检测以及SURF特征提取

1.图像的边缘检测
图像的边缘是指其周围像素灰度急剧变化的那些像素的集合。边缘检测的基本思想是先检测图像中的边缘点,在按照某种策略将边缘点连接成轮廓,从而构成分割区域。

利用edge对输入的灰度图像进行边缘检测
I=imread(‘circuit.tif’);
BW1=edge(I,’prewitt’); % 利用prewitt算子进行边缘检测
BW2=edge(I,’canny’); %利用canny算子进行边缘检测
subplot(1,2,1),imshow(BW1);
subplot(1,2,2),imshow(BW2)图像边缘检测、角点特征检测以及SURF特征提取_第1张图片

2.角点特征检测
角点是两个边缘的焦点,是邻域内具有两个主方向的特征点。角点所在的邻域通常也是图像中稳定的、信息丰富的区域。
基于图像边缘的检测方法:需要对图像边缘进行编码,在很大程度上依 赖于图像的分割和边缘提取,具有较大的计算量。
基于图像灰度的检测方法:通过计算点的曲率及梯度来检测角点,是目前研究的重点。

有关角点检测的函数cornermetric

I=imread(‘pout.tif’);
I=I(1:150,1:120);
subplot(1,2,1);
imshow(I);
title(‘输入图像’);
CM=cornermetric(I);
%对图像进行Harris角点提取
corner_peaks=imregionalmax(CM);%查找矩阵中最大值并显示,CM-角点矩阵
corner_idx=find(corner_peaks==true);
[rgb]=deal(I);
r(corner_idx)=255;
g(corner_idx)=255;
b(corner_idx)=0;
RGB=cat(3,r,g,b);
subplot(1,3,3);
imshow(RGB);图像边缘检测、角点特征检测以及SURF特征提取_第2张图片

3.SURF特征提取
为了提高搜索特征点的算法,提出的SURF算法,使得模板对图像的滤波只需要进行几个简单的加减法运算,并且与滤波模板的尺寸无关从而极大地提高了尺度不变特征的检测速度。

你可能感兴趣的:(Matlab)