MATLAB Answers

自分で指定した数の三次元配列の三次元表示

조회 수: 5(최근 30일)
virgo kk
virgo kk 2019년 8월 1일
편집: Yoshio 2019년 8월 26일
同じ大きさ136*190の5枚の画像を読み込んでから空の三次元配列に読み込んだ画像の値を代入してz軸の値をずらしながら、三次元行列を作りました。
この三次元を表示したいのですが、エラーを吐いてしまい前に進めない状況です。本来は自分の設定した画像枚数で表示できると思うのですが、z軸を3で指定されている状況です。エラーは3で実行すれば消えますが自分のしたいことができないです。どなたか助けて頂きたいです。宜しくお願いします。
clear;clc
td = zeros(136,190,5);
for i = 1:5
td(:,:,i) =imread(sprintf('%d.jpg',i));
end
figure;
pcshow(td);
以下エラーメッセージです。
エラー: pcshow
xyzPointsの実際のサイズは 136x190x5 ですが、サイズは MxNx3 にする必要があります。
エラー: vision.internal.pc.validateAndParseInputsXYZC (line 19)
validateattributes(xyzPoints,{'numeric'}, {'real','size',[NaN,NaN,3]},filename,'xyzPoints');
エラー: pcshow>validateAndParseInputs (line 151)
[X, Y, Z, C] = vision.internal.pc.validateAndParseInputsXYZC(mfilename, varargin{1});
エラー: pcshow (line 99)
validateAndParseInputs(varargin{:});
エラー: no1 (line 13)
pcshow(td);

채택된 답변

Toshinobu Shintai
Toshinobu Shintai 2019년 8월 1일
pcshowはカラー画像(width, height, color)を対象としているので
うまくいかないのではないでしょうか。
imshowを用いると、それぞれの行列を白黒の画像として表示できます。
また、単にそれぞれの行列の要素を数値で見たい場合はbar3, mesh, surfなどを用いてはどうでしょうか。
添付にサンプルを作成しましたのでご確認ください。
  댓글 수: 5
virgo kk
virgo kk 2019년 8월 2일
わかりました。
お答え頂いて有難うございました。

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Yoshio
Yoshio 2019년 8월 26일
편집: Yoshio 2019년 8월 26일
こちらに参考となる例があると思います。
MRIの画像表示も例もありますので、読んだ上で検討してみてください。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!