2

MatlabのGUIDEを使用しながら、画像に線をプロットしたいと思います。GUI内で1つの軸のみを使用していたときに、これを達成することができました。ただし、別の軸を追加すると、プロットは画像に重ならないようになります。

最初、プロットは間違った軸にプロットし始め、適切な軸を設定するのを忘れていたことに気づきました。ただし、プロットする画像軸を選択すると、プロットされる線は画像の上に表示されなくなり、代わりに画像が線のグラフのみに置き換えられます。

私のコード:

imshow(img(k),'Parent',handles.display)
hold on

x1 = line(k).point1(1);
y1 = line(k).point1(2);
x2 = line(k).point2(1);
y2 = line(k).point2(2);
plot(handles.display,[x1 x2],[y1 y2],'Color','r','LineWidth', 2)

hold off

新しい軸を追加する前のコードは上記と同じですが、のhandles.displayパラメータがありますplot()

どんな助けでも大歓迎です、前もってありがとう。

4

1 に答える 1

1

HOLD関数を呼び出すときは、軸ハンドルも指定する必要があります。例:

%# create some axes
hAx1 = subplot(121);
hAx2 = subplot(122);

%# draw in first: image with line overlayed
I = imread('coins.png');
imshow(I, 'Parent',hAx1)
hold(hAx1,'on')
plot(hAx1, [1 100], [1 100], 'Color','r', 'LineWidth',2)
hold(hAx1,'off')

%# draw in second
surf(hAx2, peaks)

ここに画像の説明を入力してください

于 2011-08-26T13:11:19.700 に答える