regionprops返回的参数在矩阵坐标中为[y,x,width,height]
(另请参见“意外的Matlab”) 。
因此,要提取矩形,请编写:
subImage = I(round(s(1).BoundingBox(2):s(1).BoundingBox(2)+s(1).BoundingBox(4)),...
round(s(1).BoundingBox(1):s(1).BoundingBox(1)+s(1).BoundingBox(3)));
0
regionprops返回的参数在矩阵坐标中为[y,x,width,height]
(另请参见“意外的Matlab”) 。
因此,要提取矩形,请编写:
subImage = I(round(s(1).BoundingBox(2):s(1).BoundingBox(2)+s(1).BoundingBox(4)),...
round(s(1).BoundingBox(1):s(1).BoundingBox(1)+s(1).BoundingBox(3)));
0
根据REGIONPROPS的文档:
BoundingBox
为[ul_corner width]
,其中:
ul_corner :格式为
[xyz ...]
并指定边界框的左上角width :格式为
[x_width y_width ...]
并指定沿每个尺寸的边界框的宽度
现在,您可以将IMCROP函数用作imcrop(I, rect)
,其中:
rect是四元素位置矢量
[xmin ymin width height]
,用于指定裁剪矩形的大小和位置。
从而:
s = regionprops(L, 'BoundingBox');
subImage = imcrop(I, s(1).BoundingBox);
imshow(subImage)
0
我已经在较大的图像中识别出一些粒子,因此需要为每个粒子解析为较小的图像。我使用了regionprops的“ BoundingBox”功能,但尚未成功。现在如何使用BoundingBox制作图像的矩形子图像?我可以使用BoundingBox在原始图像上绘制一个矩形,但是BoundingBox返回的参数似乎不具有像素尺寸(x,y,宽度,高度),(x1,y1,x2,y2)等期望边界框返回。我已经使用coins.png编写了一些示例代码,以使任何人都更容易理解。你能帮我吗?谢谢!