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

4 vues (au cours des 30 derniers jours)
Yoshihiko
Yoshihiko le 28 Nov 2017
Modifié(e) : Jiro Doke le 29 Nov 2017
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,:)の図が占める、というような図の作成方法は存在するのでしょうか?

Réponse acceptée

Jiro Doke
Jiro Doke le 29 Nov 2017
Modifié(e) : Jiro Doke le 29 Nov 2017
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 % 画像としての軸指定

Plus de réponses (0)

Catégories

En savoir plus sur イメージ dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!