如何获取对象的边界框以将其与背景分开

时间:2015-11-21 23:19:03

标签: matlab

我有几张信封图片。

其中一些是旋转的,所以我想找到他们的边界框,首先从背景中提取它们,然后旋转它们直立。

每次我这样做,我都没有得到信封本身的边界框,只有里面写的字母和一些垃圾。

这是原始图片: http://imgur.com/01bGnE3

以下是我的结果: http://imgur.com/B5x5Rte

以下是我使用的代码:

close all

I=imread('cartatorta.jpg');
BW = edge(rgb2gray(I), 'canny');

st = regionprops(BW, 'BoundingBox' );

figure, imshow(I)

for k = 1 : length(st)
  thisBB = st(k).BoundingBox;
  rectangle('Position', [thisBB(1),thisBB(2),thisBB(3),thisBB(4)],...
  'EdgeColor','r','LineWidth',2 )
end

0 个答案:

没有答案