1

サイズが 256*256 の画像があり、その画像をブロックごとに処理したい。そのためには、それぞれ 16 ピクセルの 64*64=4096 ブロックを取得したいと考えています。私はMatlabを初めて使用するので、それを行うための特定のコマンドを見つけるのが難しいと感じました. これまでのところ、私が持っているものは、

    I=imread('kidneyimage.jpg');
    I=rgb2gray(I);
    % block wise processing needed.

コマンドに関するヘルプは本当にありがたいです。

4

3 に答える 3

2

これを行うには、関数を使用できますim2col

http://www.mathworks.fr/help/toolbox/images/ref/im2col.html

于 2012-06-04T13:23:10.907 に答える
1

Matlab を使い始めたばかりの場合は、最も簡単な方法を試してください。2 つの入れ子になったforループを使用して、すべてのブロックを反復処理して操作します。のヘルプ ページを参照してくださいimread。この関数は、すべてのピクセルの色で満たされた行列を提供します。Matlab には、コロン (:) 演算子を使用して行列の一部を抽出する特別な表記法があるため、画像のブロックを 1 つずつ簡単に変更できます。

于 2012-06-04T13:28:49.343 に答える
0

関数は必要なことを正確に実行しているようです。画像のすべてのブロックに関数を適用し、結果を連結します。ファイルから直接画像を読み取るオプションもあります。B =blockproc(A, [M N], fun)funA

于 2012-09-19T18:40:08.093 に答える