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!