私はカラーオブジェクトに基づいて画像のセグメンテーションを行います。この情報(クリック値)を別のオブジェクトで使用するには、オブジェクトのユーザークリック値を取得する必要がありますプロセス。どのように私はmatlabでこの値を得ることができます。誰でも私を喜ばせることができます。画像内の任意のオブジェクトをクリックして情報を取得する
よろしく
私はカラーオブジェクトに基づいて画像のセグメンテーションを行います。この情報(クリック値)を別のオブジェクトで使用するには、オブジェクトのユーザークリック値を取得する必要がありますプロセス。どのように私はmatlabでこの値を得ることができます。誰でも私を喜ばせることができます。画像内の任意のオブジェクトをクリックして情報を取得する
よろしく
ユーザーがプロットや画像をクリックすると、彼らがクリックされた座標を取得したい場合は、ginputを使用することができます。たとえば、
[x,y] = ginput(1);
のように、1クリックの座標が表示されます。その後、独自のロジックを使用して、対応するオブジェクトを特定することができます。
これはあなたがしようとしていない場合は、より明確に説明する必要があります。
は、私は、これは、あなたの質問に答えるかどうかわからないんだけど、グラフオブジェクト(すなわちlines、patches、imagesなど)は、ポインタがオブジェクト上にあるときにマウスボタンを押したときに実行されるButtonDownFcn
コールバックを持っています。
は、ここで選択したオブジェクトに関する情報を取得するためにあなたがButtonDownFcn
コールバックを使用できる方法の(nested functionsとfunction handlesを使用して)簡単な例です。まず、M-ファイルでこの関数を保存:
function colorFcn = colored_patches
selectedColor = [1 0 0]; %# The default selected color
figure; %# Create a new figure
axes; %# Create a new axes
patch([0 0 1 1],[0 1 1 0],'r',... %# Plot a red box
'ButtonDownFcn',@patch_callback);
hold on; %# Add to the existing plot
patch([2 2 4 4],[1 2 2 1],'g',... %# Plot a green box
'ButtonDownFcn',@patch_callback);
patch([1 1 2 2],[3 4 4 3],'b',... %# Plot a blue box
'ButtonDownFcn',@patch_callback);
axis equal; %# Set axis scaling
colorFcn = @get_color; %# Return a function handle for get_color
%#---Nested functions below---
function patch_callback(src,event)
selectedColor = get(src,'FaceColor'); %# Set the selected color to the
%# color of the patch clicked on
end
function currentColor = get_color
currentColor = selectedColor; %# Return the last color selected
end
end
次に、上記のコードを実行し、変数に返さ関数ハンドルを保存します。これは、3色のボックス付きの図を作成します
colorFcn = colored_patches;
、そのような:あなたは色付きのボックスのいずれか、colorFcn
意志ちゃんからの出力の上にマウスをクリックして今すぐ
、 GE:
%# Click the red box, then call colorFcn
>> colorFcn()
ans =
1 0 0 %# Returns red
%# Click the blue box, then call colorFcn
>> colorFcn()
ans =
0 0 1 %# Returns blue
%# Click the green box, then call colorFcn
>> colorFcn()
ans =
0 1 0 %# Returns green
返信ありがとうございます...しかし、これは私の質問の答えは....私はオブジェクトに基づいて画像をセグメント化し、ユーザーに任意のオブジェクトを選択させるために彼の画像のセグメンテーションを表示する(彼が好きなオブジェクトをクリックすることによって)画像を、この場合、私はこのオブジェクトに応じて私のproceesingをするために選択したオブジェクトの情報を取る必要があります – zenab
は、私は、ユーザーが画像(画像内の任意のオブジェクト)をクリックすると、彼らはクリック座標を取得したいはい...返信ありがとうございました...私は、この座標を取得する場合、私はしようとすることができますginput関数を適用する...ありがとうございます – zenab
この間違い申し訳ありません...私は私の質問を続けます...私はオブジェクトの座標を取得することができますこのオブジェクトを1つのイメージとして扱うことができますか? – zenab
説明するために質問を編集しました。 –