2010-12-02 13 views
0

私は256X256サイズのRGB画像を持っています。このRGB画像をサイズ32X32のブロックに分割する必要があります。ブロックはRGB画像でなければなりません。 MATLAB。私にこのコードをMATLABで提供してください。カラー画像をMATLABのブロックに分割する

+0

ここでは、問題を解決するのに役立つのではなく、問題を解決するために役立っています。あなたはこれまで何をしていますか? – Donnie

+1

@Donnie:oops。もし@sushmiが問題に興味を持っていれば、彼らは解決策を理解し、そこから何かを学ぶためにしばらく時間を費やすだろう。 – Jonas

答えて

1

これにはmat2cellを使用できます。

out = mat2cell(image,ones(256/32,1)*32,ones(256/32,1)*32,3); 

out 32×32×3 RGB画像を含む各セルに、8×8 cell arrayあります。

最初のブロックにはout{1,1}としてアクセスできます。

EDIT高速なコードを作るためにonesからrepmatを変更

+0

私は通常、このような場合にREPMATの代わりにONESを使用するほうが好きです。例えば、 "32 * ones(1,8)"のようにします。しかし、それは好みの問題だと思います。 ;) – gnovice

+0

@gnovice: 'ones(x)'を乗算するのではなく 'repmat'を使う方が良いと思っていましたが、' repmat'のコードを見ると 'ones(x ) 'は速くなければなりません。*チェック* ...うん、それは約2倍速いです。 – Jonas

関連する問題