我想用regionprops
找出连接组件的宽度。宽度不是regionprops
的默认属性之一,但我认为BooundingBox
有此选项。从文档我读:如何从regionprops中提取连接组件的宽度?
'的BoundingBox' - 包含该区域的最小矩形,1 * Q * 2向量,其中Q是图像维数:为ndims(L),为ndims(BW )或numel(CC.ImageSize)。 BoundingBox的是[ul_corner宽度],其中:
ul_corner的形式是[XYZ ...],并指定左上 角落边界框的宽度是在形式[x_width y_width ...] 和指定边界框的每个维宽度
所以,如果我在s(1).BoundingBox
在控制台输入我得到这个
ans =
7.5000 27.5000 197.0000 132.0000
我是正确的假设,第三个元素(197在这种情况下)是连接组件的宽度T'前两个是xy坐标,最后一个是高度?
如果是这样,我该如何解压?
我试过这段代码,它似乎没有工作。
BB = [stats.BoundingBox];
for m = 3:3:length(BB) % start from third element, skip next three and so on
width = BB(m);
end
它只是似乎总结BB的所有元素,并把结果保存在width
。
我是否正在从BoundingBox中提取宽度?我的索引方法有什么问题?为什么不给我一个width
矢量?
谢谢
'3:4:长度(BB)' - 有每个条目4个元素,所以你要每4个元素_starting from_ 3.你也不是索引到'width',所以你每次都把它作为一个标量覆盖。就个人而言,我会去'BB = vertcat(stats.BoundingBox);宽度= BB(:,3);' – Notlikethat