5

私のマウスカーソルの座標を表示する画像を得ることができないと同時に、ginputを使ってポイントを同時に保存することはできません。座標を表示してginputを使う方法

私は現在しようとしています次:

MriHotrod = imread('Image.bmp'); 
Fig = figure('Name','BobDole'),... 
    imshow(Image, 'InitialMagnification', 250) 

axis on 
impixelinfo 

Image_1 = ginput(4) 

close BobDole 

関数ginputはまだ動作しますが、impixelinfoが一定

Pixel Info = (X, Y) Pixel Value 

私はこの歩き回るのいくつかの方法を認識していますが、彼らは機能を必要とします。これは、関数の使用を避けることができる、かなり単純な問題のようです。

答えて

4

あなたがedit ginputを入力して238っぽい行目にスクロールする場合は、図のWindowButtonMotionFcnを設定ginput、言い換えれば

% Adding this to enable automatic updating of currentpoint on the figure 
set(fig,'WindowButtonMotionFcn',@(o,e) dummy()); 

が表示されます。私の推測では、impixelinfoもこの機能を使用しているので、ginputが呼ばれるとすぐに無効になります。

は確かに、impixelinfovalimpixelinfoで使用される機能)に私たちは周りのライン83を見つける:

callbackID = iptaddcallback(hFig,'WindowButtonMotionFcn', @displayPixelInfo); 

奇妙なことは、次のとおりです。あなたは4点をクリックした後、どのようにリセット取得していますか?

この魔法はginputのライン222っぽいことによって達成される:

initialState.uisuspendState = uisuspend(fig); 

どうやら、uisuspendは後でそれらをリセットするために、任意の既存のWindowButton*機能を停止するために使用され、ほとんど文書化されていない機能です。あなたはこのライン

%initialState.uisuspendState = uisuspend(fig); 

をコメントアウトしてginputを保存し、全体を再実行するのであれば、あなたが望む行動を参照してください。

これらの機能が最初に中断される理由もわかります。わかりませんが、そのような機能が2つ使用可能になるとすべてがうまく動作しません。

+0

残念なことに私のginput関数は非常に異なっていなければなりません。あなたが言及した行のいずれも私のginput関数にありません。私はこれをコメントしようとしました:state = uisuspend(fig)これは92行目に現れます。しかしこれはうまくいきませんでした。 – Shinobii

+0

Matlabのどのバージョンがありますか? –

+0

バージョン:7.10.0 R2010a – Shinobii

関連する問題