この寸法の画像が240x180で、オリジナル画像から各サブ画像(20x20)のMean Absolute Deviation(MAD)を見つけるためにMatlabを使用したいのですが最終的に108の結果を抽出しなければならないので、各20x20サブピクセルの平均を求め、各ピクセルと計算された平均との差の絶対値の合計を求めることによってMADの概念を知る。matlabで画像の平均絶対偏差を見つけるには
私は、このdim(20x20)でサブイメージにイメージ(240x180)を分割するために何かを始めました。そして、私は108サブイメージを持たなければなりませんが、結果には84ブロックしか含まれません。次のコードを見て:
>> I = imread('myimage-path')
>> %the size of image 180x240
>> [r,c] = size(I);
>> bs = 20; % size of block
>> nsb = (r/bs) * (c/bs); % total number of block (108 block)
>> %Dividong the image into 20x20 block
>> kk=0;
>> for i=1:(r/bs)
for j=1:(c/bs)
Block(:,:,kk+j)=I((bs*(i-1)+1:bs*(i-1)+bs),(bs*(j-1)+1:bs* (j-1)+bs));
end
kk=kk+(r/bs);
end
その後、私はこれらのブロックの上に私の作品を完了するために、この配列では、すべての108個のブロックを格納するための空の配列を定義し
>> allBlocks = [[],[],[]]
>> for h=1:84
allBlocks(:,:,h) = Block(:,:,h);
end
>> size(allBlocks)
>> % result 20 20 84
べき方法を追加することはないと思いますポストで上記のコードのように私はわずか84ブロックを得るが、私は108ブロックを持っている必要があります私はこの場合の問題は何か分からない –