我正在编写一个Matlab程序来分割图像,然后在分割的图像周围放置一个边界框 . 我的代码以前工作,但我现在收到错误:
使用矩形时出错值必须是4个元素向量
有问题的数组是由regionprops创建的BoundingBox,它应该只包含四个元素,但由于某种原因包含更多元素 . 这是我的代码(defaultSegment函数返回二进制图像):
function [ boundImage ] = boundSegment( input_image )
image = defaultSegment(input_image);
clear s;
s = regionprops(image, 'Area', 'BoundingBox');
numObj = numel(s);
index = 1;
for k = 1: numObj-1
if s(k+1).Area > s(index).Area
index = k+1;
else
index = index;
end
end
figure, imshow(input_image);
rectangle('Position',s(index).BoundingBox);
boundImage = null;
(我真的更喜欢,如果我的代码可以直接将边界框放在图像上而不是对其进行分图,但是如果没有视觉工具箱,我还没有找到办法做到这一点)
谢谢!