Regionprops浅析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功