我正在编写一个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;
(我实际上更喜欢我的代码可以直接在图像上放置边界框而不是对其进行分图,但是如果没有视觉工具箱,我还没有办法做到这一点)
谢谢!