1.regionprops
功能:用于测量图像区域属性(斑点分析)
调用格式;STATS=regionprops(L,properties):
测量每个标签区域L的一系列属性。L可以是一个标签矩阵或者多维矩阵。当L是一个标签矩阵时,L中的正整数元素对应不同的区域。如果L中的元素值为1的话,则对应区域为1;当L 中的元素值为2的话,则对应区域为2,依次类推。返回值STATS是一个结构数组,长度为max(L(:)).结构队列 中的内容表示每个区域的不同测量法,如同属性指定的那样。查看属性,将会有一个有效的属性字符串。
STATS=regionprops(...,I,properties):测量2-D或N-D灰度图像I中每一个区域的一系列属性。L是一个标签矩阵,标识I中的区域和I尺寸相同。
属性可以是一个逗号分隔的字符串,一个元胞数组包含字符,单个字符'all',或者字符‘basic’.如果是属性字符是'all',regionprops会计算所有列于形状测量参数表中形状测量参数。如果调用一个灰度图像,regionprops也返回像素点测量,测量内容在像素测量参数表中。如果属性是不指定或属性字符串‘basic’,regionprops仅计算“Area”、“Cenroid”“BoundingBox”测量值。以下属性值可以对N-D标签矩阵进行计算:“Area”、“Cenroid”“BoundingBox”“FilledArea”、“FilledImage”、“Image”、“PixlldxList”、“PixelList”和“Subarrayldx”
(1)将二值图像转换为标签矩阵
在将二值图像传给regionprops函数前,必须先将其转换为一个标签矩阵。
1>bwlabel函数:使用bwlabel函数可以将二值图像转换为标签矩阵。
调用格式:L=bwlable(BW)
2>double函数,使用double函数可以将二值图像转换为标签矩阵。
调用格式:L=double(BW)
(2)特定标准区域选择
在MATLAB中提供了ismember函数,ismember函数基于特定标准区域选择它和regionprops联合使用很有效
(3)逗号分隔法
当使用regionprops函数的输出功能时,逗号分隔法对于结构数组非常有用。如对于包含一个标量的块,可以使用下面句法生成一个向量,其中包含了图像每一区域块的数值。
state(1).Area,state(2).Area,...state(end).Area或state Area