-2

画像をセルに変換するにはどうすればよいですか? mat2cell の変換でこれを実行すると、エラーが発生します。

close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
4

1 に答える 1

1

のドキュメントからmat2cell

 mat2cell Break matrix up into a cell array of matrices.
    C = mat2cell(X,M,N) breaks up the 2-D array X into a cell array...

これは、関数 mat2cell を現在どのように使用しているかです。ただし、エラー メッセージから、行列Iが 2D 行列ではないようです。コマンド ラインに入力ndims(I)すると、配列の次元数を確認できます。

エラー メッセージから、3 つの次元があることがわかりますI(画像の 3 番目の次元は各カラー チャネル用です)。したがって、別の方法で使用する必要がありますmat2cellhelp mat2cellコマンド プロンプトに入力し、多次元配列の使用について読んでくださいmat2cell

または、最初に画像から各カラー チャネルを個別に抽出し、各カラー チャネルで個別に実行することもできますmat2cell

red_channel = I(:, :, 1);
green_channel = I(:, :, 2);
blue_channel = I(:, :, 3);
于 2012-04-18T06:55:07.020 に答える