图像特征的求取文档格式.docx
- 文档编号:3199690
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:17
- 大小:65.19KB
图像特征的求取文档格式.docx
《图像特征的求取文档格式.docx》由会员分享,可在线阅读,更多相关《图像特征的求取文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。
通常空间位置信息可以分为两类:
相对空间位置信息和绝对空间位置信息。
前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。
显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。
空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。
另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。
为了检索,除使用空间关系特征外,还需要其它特征来配合。
2.2二值图像特征提取
特征提取有三类方法:
区域内部形状特征提取;
区域外部形状特征提取;
利用图像层次型数据结构,提取形状特征。
2.2.1区域内部形状特征提取
区域内部形状特征提取有区域内部空间域分析,它是直接在图像的空间区域内部提取形状特征来进行分析。
特征提取方法主要有:
(1)拓扑描绘子
(2)凹凸性
(3)区域的测量
这次课设的主要任务要计算目标的面积、周长、中心三个参数,因此这里主要讨论区域的测量。
主要包括:
①面积:
区域内像素的总和。
②周长:
关于周长的计算有多种方法,常用的有两种:
一种计算方法是针对区域的边界像素而言,上、下、左、右像素间的距离为1,对角线像素间的距离为
。
周长就是边界像素间距离的总和。
另一种计算方法将边界的像素总和作为周长。
③圆形度:
它是测量区域形状常用的量。
其定义如下
R=4
④形心:
平面图形的形心就是截面图形的几何中心。
当截面具有两个对称轴时,二者的交点就是该截面的形心。
据此,可以很方便的确定圆形、圆环形、正方形的形心。
但对于一般图形主要通过以下公式计算其形心:
和
是所求图形中各点的坐标值,A是图形的总面积,即总的像素点。
2.2.2区域外部形状特征提取
区域外部形状是指构成区域边界的像素集合。
区域边界和骨架的空间域分析法主要包括方向链码描述和结构分析法。
用于描述曲线的方向链码法是由弗里曼提出。
八链码原理图如下所示。
图2.2.2八链码原理图
该方法采用曲线起始点的坐标和线的斜线来表示曲线。
对于离散的数字图像而言,区域的边界可理解为相邻边界像素逐段相连而成。
对于图像某像素的8-领域,把该像素和其8-领域的各像素连线方向按图2.2.2所示进行编码,用0、1、2、3、4、5、6、7表示8个方向,这种代码称为方向码。
其中偶数码为水平或垂直方向的链码,码长为1:
奇数码为对角线方向的链码,码长为
边界的方向链码表示既便于形状特征的计算,又节省存储空间。
从链码可以提取以下一系列的几何形状特征。
(1)区域边界的周长
假设区域的边界链码为
…
,每个码
所表示的线段长度为
,那么该区域边界的周长为
L=
=
+(
-
)
式中,
为链码序列中偶码个数;
为链码序列中码的总个数。
(2)计算面积S
由链码计算区域的面积表达式为:
S=
,
是初始点的纵坐标,
分别是方向码长度在k=0(水平),k=2(垂直)方向的分量。
2.3MATLAB中特征提取函数
2.3.1函数imfeature
此函数主要是用来提取特征以计算图像区域的特征尺寸。
其语法为:
stats=imfeature(L,measurements)
stats=imfeature(L,measurements,n)
参数measurements可以为:
1.'
Area'
:
区域内像素数目,也可以看成是区域的面积
2.'
ConvexHull'
是p行2列的矩阵,包含某区域的最小凸多边形
3.'
EulerNumber'
是标量,几何拓扑中的一个拓扑不变量--欧拉数
4.'
Centroid'
1*2向量,区域的质心(x,y)
5.'
ConvexImage'
二值图像,用来画出上述的区域最小凸多边形
6.'
Extrema'
8行2列矩阵,八方向区域极值点
7.'
BoundingBox'
最小矩形1*4向量
8.'
ConvexArea'
标量,'
中的像素数
9.'
EquivDiameter'
是标量,等价直径:
与区域具有相同面积的圆的直径
10.'
MajorAxisLength'
是标量,与区域具有相同标准二阶中心矩的椭圆的长轴长度
11.'
Image'
二值图像,与某区域具有相同大小的逻辑矩阵
12.'
Solidity'
是标量,同时在区域和其最小凸多边形中的像素比例
13.'
MinorAxisLength'
是标量,与区域具有相同标准二阶中心矩的椭圆的短轴长度
14.'
FilledImage'
与Image相同,唯一区别是这是个做了填充的逻辑矩阵
15.'
Extent'
是标量,同时在区域和其最小边界矩形中的像素比例
16.'
Orientation'
是标量,与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)
17.'
FilledArea'
是标量,填充区域图像中的on像素个数
18.'
PixelList'
p行ndims(L)列矩阵,存储上述索引对应的像素坐标
19.'
Eccentricity'
是标量,与区域具有相同标准二阶中心矩的椭圆的离心率
2.3.2函数regionprops
函数regionprops主要用来测量图像区域属性。
D=regionprops(L,properties)
其中,L是标记矩阵,properties是一个用逗号分隔的字符串列表,一个包含字符串的单元数组,单个字符串'
all'
'
basic'
,如果是'
那么就会计算所有描述子,如果是'
,那么就会计算'
三个基本描述子。
参数properties介绍如下:
1,'
区域内像素数目,也可以看成是区域的面积
2,'
最小矩形1*4向量
3,'
1*2向量,区域的质心(x,y)
4,'
5,'
6,'
7,'
8'
9'
10'
11'
12'
是标量,填充区域图像中的on像素个数
13'
与Image相同,唯一区别是这是个做了填充的逻辑矩阵
14'
二值图像,与某区域具有相同大小的逻辑矩阵。
15'
16'
17'
是标量,与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)
18'
p行ndims(L)列矩阵,存储上述索引对应的像素坐标
3程序设计及结果
所要处理的图像如下图所示:
图3-1原始所画图像
3.1matlab特征提取函数
由于函数regionprops是函数imfeature的一个升级的函数,两者功能相似,所以这里只利用函数regionprops。
在对图像进行特征提取之前必须首先对图像进行标记。
即利用matlab中的函数bwlabel,使图像的各个连通的区域得到标记。
然后可以直接利用函数regionprops提取其特征参数。
程序如下;
>
G=imread('
jx.jpg'
);
%读取图像
im=im2bw(G);
%将其转化为二值图像
one=find(im==1);
zero=find(im==0);
im(one)=0;
im(zero)=1;
%对图形矩阵求反
imwrite(im,'
j.jpg'
%存储转换后的矩阵
L=bwlabel(im);
%标记连通的区域
stats=regionprops(L,'
)%提取其特征
对于一个图3-1转换后的二值图像为:
图3-2处理后的二值图像
提取特征后可得出结果为
Area:
21901
Centroid:
[121121]
BoundingBox:
[30.500060.5000181121]
SubarrayIdx:
{[1x121double][1x181double]}
MajorAxisLength:
209.0008
MinorAxisLength:
139.7188
Eccentricity:
0.7437
Orientation:
0
ConvexHull:
[9x2double]
ConvexImage:
[121x181logical]
ConvexArea:
Image:
FilledImage:
FilledArea:
EulerNumber:
1
Extrema:
[8x2double]
EquivDiameter:
166.9887
Solidity:
Extent:
PixelIdxList:
[21901x1double]
PixelList:
[21901x2double]
Perimeter:
600
从提取的特征可以看到其面积为:
21901;
形心坐标为:
[121121];
周长为:
(121+181)×
2-4=600。
3.2matlab自编程序
3.2.1面积求取
二值图像面积的求取就是计算图像中1的个数,程序如下:
one=find(L==1);
size(one)
运行即可的结果为:
ans=
219011
即面积为21901。
其中L是已经标记的图像矩阵,find()是返回矩阵其括号中中非0项的坐标,通常与逻辑运算符一起使用。
size()是返加一个矩阵的行数和列数。
3.2.2周长的求取
周长是计算像素距离的总和,其程序为:
p=bwperim(L);
perm=sum(sum(p))
欲行结果为:
perm=
其中bwperim()是二值图像的边界所得到的一个矩阵X,sum()是求和函数,在程序中sum(p)的是求各列的和,则sum(sum(p))是求p的总和。
得到的边缘函数为:
图3-3边缘提取的图像
3.2.3形心的求取
形心是平面几何图形的中心,其计算公式为;
X=0;
Y=0;
formm=1:
m
fornn=1:
n
X=X+mm*L(mm,nn);
Y=Y+nn*L(mm,nn);
end
end
X/stats.Area
121
Y/stats.Area
3.2.4其它图形求取
同上面的矩形求取过程一样,图3-4的三角形的求取特征值为:
stats=
48620
[421.6657281.0459]
[252.500090.5000339286]
{[1x286double][1x339double]}
277.2913
269.9545
Eccentricity:
0.2285
-3.6351
[16x2double]
ConvexImage:
[286x339logical]
48893
FilledArea:
248.8070
0.9944
0.5015
[48620x1double]
[48620x2double]
1.0480e+003
面积为:
48620;
[421.6657281.0459];
908。
图3-4二值三角形图像
图3-5的圆形的求取特征值为:
22536
[221.5000221.5000]
[136.5000136.5000170170]
{[1x170double][1x170double]}
169.3968
[57x2double]
[170x170logical]
22676
169.3922
0.9938
0.7798
[22536x1double]
[22536x2double]
558.8427
22536;
[221.5000221.5000];
476
图3-5二值圆形图像
心得体会
数字图像处理是一门理论与实践紧密结合的课程。
做大量的上机实验有助于进一步理解和巩固理论知识,还有助于提高分析和解决问题的能力。
MATLAB强大的运算和图形处理功能,可以使数字图像处理效率大大提高,使数字图像处理工作变得十分简单和直观。
这次数字图像处理课程设计历时四天,在整整四天的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,特别是学到了很多在书本上所没有学到过的知识。
以前总是在课堂上面听老师讲一些理论方面的知识,看着觉得简单。
但这次课设,当我在实际中自己处理问题时,才发现有许多我们不了解的细节方面的知识,这些都需要我们在实践中去尝试解决。
例如这次课设是图像特征提取,首先是了解特征提取的原理。
但是我理解了图像特征提取的原理之后,还是难以利用matlab编程去实现对二值图像面积、周长、形心的求取。
最后在查取大量资料和自己的不断实验之后才完成了这次课设。
其次,以前对于MATLAB的使用还处于一知半解的状态上,但是经过这次课程设计,对于怎么去使用函数,怎样去查看一个函数的功能,在正确使用MATLAB的语法规则上都有了很大程度的提高。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,首先是资料的查获,然后是对知识点的理解,并且利用理论知识去解决实际问题。
在设计的过程中我也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
在设计中遇到了很多编程问题,但最后经过自己的努力完成了这次课设。
这让我明白了只要有恒心,有耐心,就可以达到自己的目标,完成任务!
参考文献
[1](美)冈萨雷斯等.数字图像处理(MATLAB版).阮秋奇等译.北京:
电子工业出版社,2005
[2](美)冈萨雷斯等.数字图像处理(第二版)中文版.阮秋奇等译.北京:
电子工业出版社,2007
[3]贾永红.数字图像处理.武汉:
武汉大学出版社,2003
[4]贺兴华等.MATLAB7.X图像处理.北京:
人民邮电出版社,2006
[5]朱衡君.MATLAB语言及实践教程.北京:
清华大学出版社,2005
[6]阮秋奇.数字图像处理学.北京:
电子工业出版社,2000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 特征 求取
![提示](https://static.bingdoc.com/images/bang_tan.gif)