2011-12-07 11 views
3

私は256 * 256のイメージを持っています。イメージをサイズW * Wのサブブロックに分割する必要があります。下記重複ルールに:
もしブロックのない重複THN 8 < W は、ブロック の8 < = < W = 13 THN 50%のオーバーラップは、ブロック のW> 13 THN 75%重複はそれを実装する方法ならば場合特に2番目と3番目のルールのmatlabイメージを重複しないブロックと重複するブロックに分割する

答えて

2

興味のあるものを実現する最も簡単で簡単な方法は、次のとおりです。

が正確に size(im,1)に分割していない場合、あなたはそれが startPosの値を設定していますどのようにもう一度見たいと思うだろうので、それは、右と下の端からいくつかのポイントをドロップすることが10
function blocks = DivideImage(im, W) 

if W <= 7 
    step = W; 
elseif W <= 13 
    step = round(0.25 * W); 
else 
    step = round(0.125 * W); 
end 

startPos = 0:step:size(im,1)-W; 

blocks = cell(numel(startPos), numel(startPos)); 
for i = 1:numel(startPos) 
    for j = 1:numel(startPos) 
     blocks{i,j} = im(startPos(i)+(1:W), startPos(j)+(1:W)); 
    end 
end 

は注意してください。

関連する問題