imageにおける、​各要素の特定の値に対​応した配置について

조회 수: 9 (최근 30일)
Yoshihiko
Yoshihiko 2017년 11월 28일
편집: Jiro Doke 2017년 11월 29일
imageによって図を表示する際に、飛び飛びの値で軸に沿って表示できなかったので質問させて頂きます。 軸の値が1ずつ増加する場合は、image(x,y,C)とすることで、x,yを開始点としてCを表示することができました。 しかし、例えば y軸にある y = [1,3,9,10,15,...]のような線形でないベクトルに対し、その値に対応する位置に、Cの各要素を配置することができませんでした。 この場合、y(1)からy(2)までをC(1,:)の図が占め、y(2)からy(3)までをC(2,:)の図が占める、というような図の作成方法は存在するのでしょうか?

채택된 답변

Jiro Doke
Jiro Doke 2017년 11월 29일
편집: Jiro Doke 2017년 11월 29일
pcolor を使うと非線形の X,Y の位置指定ができます。ただ、image 関数と仕様が違うので多少設定をいじる必要があります。以下のサンプルを参考にしていただきたいのですが、例えば
  • pcolor はカラーマップで色情報を指定するので、必要に応じて colormap 関数を使用します。
  • pcolor は各ピクセルを黒のメッシュで強調表示するため、 shading flat で表示を無効にします。
  • pcolor では原点 (0,0) が左下として表示されるので、 axis を使って左上に変更します。
% カラーマップ付き画像
[RGB,map] = imread('corn.tif');
X = 1:size(RGB,2);
% 非線形のインデックスを作成
Y = cumsum(randi(5,1,size(RGB,1)));
pcolor(X,Y,RGB)
shading flat % エッジのラインを削除
colormap(map) % カラーマップを指定
caxis([0 size(map,1)]) % カラーマップのスケーリング
axis ij image % 画像としての軸指定

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 イメージ에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!