2024年5月11日发(作者:)
Matlab图像处理函数 求偏心率等区
域的属性值
Matlab图像处理函数:regionprops
这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:
regionprops。顾名思义:它的用途是get the properties of region,即用
来度量图像区域属性的函数。
语法
STATS=regionprops(L,properties)
描述
测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素
对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的
元素对应区域2;以此类推。返回值STATS是一个长度为max(L(:))的结构数
组,结构数组的相应域定义了每一个区域相应属性下的度量。properties可以
是由逗号分割的字符串列表、饱含字符串的单元数组、单个字符串'all'或者
'basic'。如果properties等于字符串'all',则所有下述字串列表中的度量数
据都将被计算,如果properties没有指定或者等于'basic',则属性:
'Area','Centroid',和'BoundingBox'将被计算。下面的列表就是所有有效的属
性字符串,它们大小写敏感并且可以缩写。
属性字符串列表
AreaEquivDiameter MajorAxisLength BoundingBox EulerNumber
MinorAxisLength Centroid Extent Orientation ConvexArea Extrema
PixelIdxList ConvexHull FilledArea PixelList ConvexImage FilledImage
Solidity Eccentricity Image
属性详细定义
本部分将结合一个具体的例子说明各种字串相关属性的意义,矩阵取自在
蚁蛉模式识别中做过预处理后的斑纹分割图像,如下图:
这是一幅二值图像,在应用regionprops函数之前必须将其标注,可以调
用bwlabel函数和伪彩色处理,标注后的图像如下图:
下面基于以上的材料来考察属性的含义。
'Area'
是标量,计算出在图像各个区域中像素总个数。注意:这个数值可能与由
函数bwarea计算的值有轻微的不同。对于这样一个数值,我们可以使用它除以
整个图像区域的像素个数而得到斑纹比例,可以作为模式识别的候选特征,并
且这个特征是仿射不变的。在本例中最后计算出的面积向量是
[3.8952,9.7213,17.663,3.5762,1.3432,1.6958,0.41974,0.41974,21.625
,12.324,4.8187,1.5111]/10000.
'BoundingBox'
是1行ndims(L)*2列的向量,即包含相应区域的最小矩形。BoundingBox
形式为[ul_corner width],这里ul_corner以[x yz.]的坐标形式给出边界盒
子的左上角、boxwidth以[x_width y_width.]形式指出边界盒子沿着每个维数
方向的长度。本例的各部分区域最小矩形如下图!注意:请在这熟悉一下函数
rectangle的使用方法。
'Centroid'
是1行ndims(L)列的向量,给出每个区域的质心(重心)。注意:Centroid
的第一个元素是重心水平坐标(x坐标)、第二个元素是重心垂直坐标(y坐标)。
Centroid所有其它元素则按照维顺序排列。下图采用以中心为圆心的小圆来演
示质心检测的效果:
图中各质心坐标(标准化后的)依次为:
发布评论