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 |
|