【Matlab】regionprops度量图像区域属性的函数

http://blog.sciencenet.cn/blog-216525-929208.html

 

 在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数。

函数:regionprops。顾名思义:它的用途是get the properties of region,即用来度量图像区域属性的函数。

语法  STATS = regionprops(L,properties)

  %bw=rgb2gray(bw);L必须来自二维图像(如灰度图像)

  %L=bwlabel(bw);语法中的L

  %s=regionprops(L, 'centroid'); centroid为其中可以引用的属性

描述  

  测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个长度为max(L(:))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。properties 可以是由逗号分割的字符串列表、饱含字符串的单元数组、单个字符串 'all' 或者 'basic'。如果 properties 等于字符串 'all',则所有下述字串列表中的度量数据都将被计算。

  如果properties没有指定或者等于 'basic',则属 'Area', 'Centroid', 和 'BoundingBox' 将被计算。下面的列表就是所有有效的属性字符串,它们大小写敏感并且可以缩写。

 

属性详细定义

 

  函数regionprops用于提取图像中感兴趣区域的属性,包括以下几个内容:

'Area''EulerNumber''Orientation''BoundingBox''Extent''Perimeter''Centroid''Extrema''PixelIdxList''ConvexArea''FilledArea''PixelList''ConvexHull''FilledImage''Solidity''ConvexImage''Image''SubarrayIdx''Eccentricity''MajorAxisLength''EquivDiameter''MinorAxisLength'

翻译过来就是:

  'Area'是标量,计算出在图像各个区域中像素总个数。

注意:这个数值可能与由函数 bwarea 计算的值有轻微的不同。对于这样一个数值,我们可以使用它除以整个图像区域的像素个数而得到图像比例,可以作为模式识别的候选特征,并且这个特征是仿射不变的。

 

EulerNumber:欧拉数

Orientation:方向

BoundingBox: 是1行ndims(L)*2列的向量,即包含相应区域的最小矩形。包括矩形左上角坐标和长宽。

BoundingBox: 形式为[ul_corner width],这里 ul_corner 以 [x y z ...] 的坐标形式给出边界盒子的左上角、boxwidth以[x_width y_width ...]形式指出边界盒子沿着每个维数方向的长度。

注意:请在这熟悉一下函数rectangle的使用方法。

Extent:范围,长度

Perimeter:周长

Centroid:是1行ndims(L)列的向量,给出每个区域的质心(重心)

注意:Centroid 的第一个元素是重心水平坐标(x坐标)、第二个元素是重心垂直坐标(y坐标)。Centroid 所有其它元素则按照维顺序排列。

Extrema:极值

MajorAxisLength'是标量,与区域具有相同标准二阶中心矩的椭圆的长轴长度(像素意义下)本属性只支持二维标注矩阵。

'MinorAxisLength'是标量,与区域具有相同标准二阶中心矩的椭圆的短轴长度(像素意义下)。本属性只支持二维标注矩阵。

'Eccentricity'是标量,与区域具有相同标准二阶中心矩的椭圆的离心率(可作为特征)。本属性只支持二维标注矩阵。

'Orientation'是标量,与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)。本属性只支持二维标注矩阵。我们可以考察离心率的变化趋势,得到对于整个区域中的各区域的似圆性如何的大致感觉。看出区域整体的似圆性好不好,实际上可以考虑使用离心率向量作为一个模式识别的特征。

'Image'二值图像,与某区域具有相同大小的逻辑矩阵。你可以用这个属性直接将每个子区域提取出来,然后再作相应的处理!

'FilledImage'与'Image'相同,唯一区别是这是个做了填充的逻辑矩阵!

'FilledArea' 是标量,填充区域图像中的 on 像素个数。

'ConvexHull'是p行2列的矩阵,包含某区域的最小凸多边形。此矩阵的每一行存储此多边形一个顶点的xy坐标。此属性只支持2维标注矩阵。

'ConvexImage'二值图像,用来画出上述的区域最小凸多边形。同时此凸包内的像素均打开,图像尺寸和此区域对应边界矩形相同。此属性只支持2维标注矩阵。例如:本例中的第2个子区域的最小凸多边形图形为。注意:此处函数roipoly很有用!

'ConvexArea'是标量,填充区域凸多边形图像中的 on 像素个数。

'EulerNumber'是标量,几何拓扑中的一个拓扑不变量--欧拉数,等于图像中目标个数减去这些目标中空洞的个数。此属性只支持2维标注矩阵。本例中的欧拉数均为1。

'Extrema'8行2列矩阵,八方向区域极值点。矩阵每行存储这些点的xy坐标,向量格式为 [top-left top-right right-top right-bottom bottom-right bottom-left left-bottom left-top]。此属性只支持2维标注矩阵。

'EquivDiameter'

转载本文请联系原作者获取授权,同时请注明本文来自徐伟科学网博客。
链接地址:http://blog.sciencenet.cn/blog-216525-929208.html 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值