2016-02-27 150 views
0
mg = im2double(imread('http://i.stack.imgur.com/ZuiEt.jpg')); % read image and convert it to double in range [0..1] 
b = sum((1-img).^2, 3); % check how far each pixel from "white" 

% display 
figure; imshow(b > .5); title('non background pixels'); 

% use regionprops to get the bounding box 
st = regionprops(double(b > .5), 'BoundingBox'); % convert to double to avoid bwlabel of logical input 

rect = st.BoundingBox; % get the bounding box 

% display 
figure; imshow(img); 
hold on; rectangle('Position', rect); 

我使用此代碼來裁剪矩形圖像,但它不起作用。哪裏不對?刪除背景

回答

0

在第一行中,「mg」應該是「img」,我從URL中刪除了額外的空格。在做出這些更改後,您的代碼會生成一個完美的邊界框。

當您聲稱代碼無效時,問題究竟是什麼?

+0

非常感謝您先生...問題是,它返回我的原始圖像沒有裁剪。我實際上是在計算機上使用銀行券上的代碼,而不一定是URL圖像。 –

+0

我將>更改爲<,它的工作原理...謝謝。 –

+0

這當然是可能的 - 不同的圖像可能會顛倒前景和背景。但是,您提供的圖像無需將「>」更改爲「<」。 – Herb