MATLAB中regionprops一般用在标记连通区域后,用来获得被标记的连通区域的一些属性:
[img_label,n]=bwlabel(img_bw_open,4);
props=regionprops(img_label);
props是一个结构体,如果写成regionprops(img_label)或regionprops(img_label,’basic’)时,props中只获得连通区域的三个基本属性:Area,Centroid,BoundingBox(区分大小写):
Area
:每个连通区域像素点的总个数,是一个标量。
Centroid
:每个连通区域重心坐标(注意不是中心)。
BoundingBox
:包围每个连通区域的最小的矩形,其形式为[x,y,x_width,y_width],分别表示[左上角横坐标,左上角纵坐标,矩形宽,矩形高]。
BoundingBox常与
Rectangle
连用:Rectangle(‘Position’,[x,y,w,h]),其[x,y,w,h]正好对应BoundingBox得到的[x,y,x_width,y_width]。
如果想要获得连通区域的全部属性,需要输入以下代码:
props=regionprops(img_label,'all');
regionprops获得的全部属性 |
||
Area |
EquivDiameter |
MajorAxisLength |
BoundingBox |
EulerNumber |
MinorAxisLength |
Centroid |
Extent |
Orientation |
ConvexArea |
Extrema |
PixelIdxList |
ConvexHull |
FilledArea |
PixelList |
ConvexImage |
FilledImage |
Solidity |
Eccentricity |
Image |