Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中单击图像中的任何对象可获取信息_Matlab_Onclick - Fatal编程技术网

在matlab中单击图像中的任何对象可获取信息

在matlab中单击图像中的任何对象可获取信息,matlab,onclick,Matlab,Onclick,我致力于基于颜色对象的图像分割。。现在我需要获取对象上的用户单击值,以便在另一个进程中使用此信息(单击值)。如何在matlab中获得该值。任何人都可以帮我 关于如果您希望用户单击绘图或图像并获取他们单击的坐标,可以使用。比如说, [x,y] = ginput(1); 将为您提供一次单击的坐标。然后,您可以使用自己的逻辑来确定对应的对象 如果这不是您要做的,您必须更清楚地解释。如果您希望用户单击绘图或图像并获取他们单击的坐标,您可以使用。比如说, [x,y] = ginput(1); 将为您提

我致力于基于颜色对象的图像分割。。现在我需要获取对象上的用户单击值,以便在另一个进程中使用此信息(单击值)。如何在matlab中获得该值。任何人都可以帮我


关于

如果您希望用户单击绘图或图像并获取他们单击的坐标,可以使用。比如说,

[x,y] = ginput(1);
将为您提供一次单击的坐标。然后,您可以使用自己的逻辑来确定对应的对象


如果这不是您要做的,您必须更清楚地解释。

如果您希望用户单击绘图或图像并获取他们单击的坐标,您可以使用。比如说,

[x,y] = ginput(1);
将为您提供一次单击的坐标。然后,您可以使用自己的逻辑来确定对应的对象


如果这不是你想做的,你必须解释得更清楚。

我不确定这是否回答了你的问题,但是绘图对象(如等)有一个
按钮downfcn
回调,当你在对象上方按下鼠标按钮时将执行该回调

下面是一个简单的示例(使用and),说明如何使用
按钮downfcn
回调来获取有关所选对象的信息。首先,将此函数保存在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
接下来,运行上述代码并将返回的函数句柄保存在变量中:

colorFcn = colored_patches;
这将创建一个带有3个彩色框的图形,如下所示:

现在,当您将鼠标单击其中一个彩色框时,
colorFcn
的输出将更改:

%# 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

我不确定这是否回答了您的问题,但plot对象(即等)有一个
ButtonDownFcn
回调,当指针位于对象上方时按下鼠标按钮将执行该回调

下面是一个简单的示例(使用and),说明如何使用
按钮downfcn
回调来获取有关所选对象的信息。首先,将此函数保存在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
接下来,运行上述代码并将返回的函数句柄保存在变量中:

colorFcn = colored_patches;
这将创建一个带有3个彩色框的图形,如下所示:

现在,当您将鼠标单击其中一个彩色框时,
colorFcn
的输出将更改:

%# 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

谢谢你的回复。。。但这并不能回答我的问题……我根据对象对图像进行分割,然后向用户显示其图像分割,以便让用户选择图像中的任何对象(通过单击他喜欢的对象),在这种情况下,我需要获取用户选择的对象的信息,以便根据此对象进行处理谢谢您的回复。。。但这并不能回答我的问题……我根据对象对图像进行分割,然后向用户显示其图像分割,以便让用户选择图像中的任何对象(通过单击他喜欢的对象),在这种情况下,我需要获取用户选择的对象的信息,以便根据此对象进行处理谢谢您的回复。。。是的,我希望用户点击图像(图像中的任何对象),并获得他们点击的坐标。。。如果我能得到这个坐标,我会尝试应用ginput函数。。。非常感谢你为这个错误感到抱歉。。。我将继续我的问题。。。如果我得到了物体的坐标,我可以把这个物体当作一张图片吗?谢谢你的回复。。。是的,我希望用户点击图像(图像中的任何对象),并获得他们点击的坐标。。。如果我能得到这个坐标,我会尝试应用ginput函数。。。非常感谢你为这个错误感到抱歉。。。我将继续我的问题。。。如果我得到了物体坐标,我能把这个物体当作一个图像吗?