画像をセルに変換するにはどうすればよいですか? mat2cell の変換でこれを実行すると、エラーが発生します。
close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
画像をセルに変換するにはどうすればよいですか? mat2cell の変換でこれを実行すると、エラーが発生します。
close all;
I=imread('D:\prj2.jpg');
Imshow(I);
C=mat2cell(I,[130 97],[130 97]);
のドキュメントから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 番目の次元は各カラー チャネル用です)。したがって、別の方法で使用する必要がありますmat2cell
。help mat2cell
コマンド プロンプトに入力し、多次元配列の使用について読んでくださいmat2cell
。
または、最初に画像から各カラー チャネルを個別に抽出し、各カラー チャネルで個別に実行することもできますmat2cell
。
red_channel = I(:, :, 1);
green_channel = I(:, :, 2);
blue_channel = I(:, :, 3);