Regionprops浅析.pptx
《Regionprops浅析.pptx》由会员分享,可在线阅读,更多相关《Regionprops浅析.pptx(32页珍藏版)》请在冰点文库上搜索。
Regionprops浅析,regionprops,Regionprops:
返回图像区域的可度量属性使用方法:
stats=regionprops(BW,properties)Stats:
输出属性结构数组BW:
输入二值图像Properties:
测量类型,Regionprops形状测量,Regionprops形状测量,PixelIdxList像素索引下标,PixelIdxList:
返回每个连通区域中的像素索引下标,PixelList像素坐标,PixelList:
返回每个连通区域内像素点的坐标值,Area区域像素数量,Area:
返回每个连通区域中的像素数量,Image连通区域,Image:
包含连通区域的最小逻辑矩阵实现:
根据pixelList找到连通区域的横纵坐标最大最小值,FilledImage填充图像,FilledImage:
填充孔洞,返回与区域的边界框相同的填充逻辑矩阵=1=1,2,3若=1,则算法在迭代到第k次后结束,集合包含所有被填充的孔洞,FilledArea填充区域,FilledArea:
返回填充后连通区域图像中的像素个数,EulerNumber欧拉数,EulerNumber:
欧拉数,即区域中的对象数减去这些对象中的孔数(八连通),四连通:
E(4)=(S1-S3+2X)/4八连通:
E(8)=(S1-S3-2X)/4,S1、S3、X是图像2*2邻域像素分布如下的个数,Matlab实现:
构建lookup查找表,EulerNumber欧拉数,欧拉数应用:
孔洞计数,不规则物体计数,BoundingBox边界框,BoundingBox:
找到包含该连通区域的最小矩形实现:
根据pixellist,找横纵坐标的最小值和最大值即可得左上角和右下角的坐标输出:
左上角的坐标和矩阵的高宽。
x(列号),y(行号),矩形高度,矩形宽度,Extent像素比例,Extent:
返回连通区域和其最小边界矩形中的像素比例(Area/边界框区域)用途:
判断区域矩形度。
值越趋近于1,区域越趋近于矩形,A,B,SubarrayIdx边界索引,SubarrayIdx:
返回每个连通区域边界框中的元素索引输出:
包含对象的最小矩形左边界像素点的y值和上边界像素点的x值,stats
(1).SubarrayIdx1,1=51:
150stats
(1).SubarrayIdx1,2=38:
174stats
(2).SubarrayIdx1,1=184,325stats
(2).SubarrayIdx1,2=225.334,stats=regionprops(BW,SubarrayIdx);,EquivDiameter等圆直径,EquivDiameter:
与区域具有相同面积的圆的直径EquivDiameter=sqrt(4*Area/pi)用途:
判断区域圆度,凸壳quickhull算法,
(1)找到图像最左和最右的端点,记作A、B。
AB一定是凸壳上的点。
(2)连接AB,将图像划分为两个区域S1、S2(3)根据点到直线的距离,在其中一个区域(如S1)中找到最远点C,C一定是凸壳上的点,连接A、B、C,形成三角形区域。
位于三角形内部的点不可能是凸壳的一部分,因此在接下来的步骤中忽略。
(4)将被三角形分割的外部区域记作S0、S1、S2,重复步骤(3)(5)递归直到没有剩下的点,则所连接的点即为凸壳。
(12)划分两个子集中的点,(34):
找到最大距离点,忽略三角形内的点并重复它,A,A,B,B,C,S1,S2,S0,S1,S2,(5)凸壳,ConvexImage凸面图像,ConvexImage:
返回包含区域最小凸多边形的逻辑矩阵,ConvexHull凸壳,ConvexHull:
返回包含该连通区域的最小凸多边形的边界坐标,ConvexArea凸壳像素数,ConvexArea:
返回填充区域凸多边形图像中的像素个数,Solidity凸壳比例,Solidity:
统计在区域和其最小凸多边形中的像素比例Solidity=Area/ConvexArea用途:
计算凸性,图像矩,对M*N的图像f(x,y),其(p+q)阶一阶矩可以判断质心,二阶矩可以判断方向,=1=1,=1=1(0)(0),=00,混合原点矩:
混合中心矩:
归一化中心矩:
Centroid质心,Centroid:
返回每个连续区域的质心(重心)坐标原理:
根据一阶原点矩,质心为=1000,=0100实现:
根据PixelList分别求连通区域内像素点横纵坐标的平均数,区域等效椭圆,区域长轴的物理意义:
使区域绕轴旋转的转动惯量最小区域绕轴旋转可得一个椭球面,选取椭球在O-xy平面的截面转动惯量:
=1=12,I的导数为0时转动惯量最小对I求导并用原点矩表示为:
(1000)(0100)=0可得(a,b)的一个解为(1000=,0100=)即长轴一定过质心将(a,b)代入I得:
=20sin2+022211求导可得长轴与x轴的夹角:
=12arctan2112002,过(a,b)与x轴夹角为的直线外一点到直线的距离为:
d=|00|,区域等效椭圆,用区域面积对轴长进行规格化可得短轴与长轴相反,使区域绕直线旋转的转动惯量最大,长轴:
=220+02+20022+411200,短轴:
=220+0220022+411200,MajorAxisLength椭圆长轴,MajorAxisLength:
与区域具有相同标准二阶中心矩的椭圆的长轴长度用途:
近似判断区域长度,MinorAxisLength椭圆短轴,MinorAxisLength:
与区域具有相同标准二阶中心矩的椭圆的短轴长度用途:
近似判断区域宽度,Eccentricity椭圆离心率,Eccentricity:
与区域具有相同标准二阶中心矩的椭圆的离心率,即为焦距/长轴用途:
判断区域扁平程度,离心率越大越扁平,Eccentricity=2(MajorAxisLength/2)2(MinorAxisLength/2)2/MajorAxisLength,Orientation椭圆方向,Orientation:
返回与连通区域具有相同标准二阶中心矩的椭圆的长轴与x轴的夹角以度为单位,范围从-90度到90度不等。
用途:
判断区域朝向,Perimeter周长,Perimeter:
连通区域边界周长旧方法:
根据八方向链码,偶数码为1,奇数码为2在0度,45度或90度的直线周边部分进行正确测量,但是其他角度则会出现误差,八方向链码:
Perimeter=44.8284,旋转30度,perimeter=47.6985,Perimeter周长,新方法:
根据无限长直线在任意方向上的最小方差,提出给奇数码和偶数码不同权重,并引入角点数的概念,得出以下权重:
perimeter=sum(isEven)*0.980+sum(isEven)*1.406-sum(isCorner)*0.091;扩展:
判断区域是否是个圆?
metric=4*pi*area/perimeter2;metric值越趋近于1则越圆,奇数码:
偶数码:
(角点),perimeterOld=44.8perimeter=43.1,perimeterOld=47.7perimeter=44.5,旋转30度,Extrema八方向极值点,Extrema:
连通区域在八个方向上的极值点实现:
根据PixelList找横纵坐标最大最小值,