2012-03-21 7 views
2

私はMATLABを使ってGUIを作成しています。私はdatacursormodeが有効になっている画像を持っています。これは正常に動作します。クリックするたびに新しいポイントが追加されます。すべての点について、MATLABは座標を含むボックスを表示します(または、それ以外のテキストは更新関数を使用して変更しました)。しかし、このテキストボックスを削除するにはどうすればいいですか?ポイントを追加したいだけで、余分な情報は表示されません。MATLABデータカーソルを使用している場合にデータボックスを非表示にする

ありがとうございます!

答えて

1

datacursormode onは、グラフィックオブジェクトにデータチップを表示するために使用されます。つまり、非表示にするテキストボックスです。それでは、なぜdatacursorを使うのか?

"ピクセルを追加"するにはデータカーソルのUpdateFcnを使用していますか(おそらくピクセルの色を変更することを意味します)?代わりにButtonDownFcnコールバック関数を使用することを検討してください。

function interactive_image(im) 
    fh = figure; 
    hImage = imshow(im); 
    set(hImage,'ButtonDownFcn',@myfunction) 
end 

function output_txt = myfunction(obj,eventdata,handles) 
    pos = get(gca,'CurrentPoint') 
    x = get(obj,'CData'); 
    x(uint32(pos(1,2)),uint32(pos(1,1))) = 0; 
    set(obj,'CData',x) 
end 

UPDATE

方が良い画像処理ツールボックスで利用できるIMPOINT機能を使用するためにあなたのコメントによります。

+0

ボックスの外に私がしたいことがあります:私のイメージ上にポイントを置くことができますドラッグし、削除/削除することができます。あなたが言うようにButtonDownFcnコールバックを使用してCurrentPointを登録することができましたが、ドラッグアンドドロップ/ポイントのコードを自分で作成する必要がありますか? – user1254962

+0

答えに対する私の更新を参照してください。 – yuk

+0

これはまさに私が必要としているようです、ありがとう!:) – user1254962

関連する問題