我正在编写一个 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;
(如果我的代码可以直接将边界框放在图像上而不是绘制它,我实际上更喜欢它,但我还没有找到没有视觉工具箱的方法)
谢谢!