MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   MATLAB ButtonDownFcn (https://www.labfans.com/bbs/showthread.php?t=24270)

poster 2019-12-10 20:48

MATLAB ButtonDownFcn
 
我在MATLAB中有一个“光学字符识别”项目,需要您的帮助:
[LIST=1][*]我如何识别用户何时在图像上按下鼠标?我试图用ButtonDownFcn做到这一点,但是即使我只是打印消息,消息也不会被打印。
[*]我想允许用户从图像中选择车牌。我该怎么做并保存所选区域的像素?
[/LIST]提前致谢。



[B]回答:[/B]

解决您的两个问题:
[LIST=1][*]我猜想您正在尝试设置[I]图形窗口[/I]的[URL="http://www.mathworks.com/help/techdoc/ref/figure_props.html#ButtonDownFcn"]'ButtonDownFcn'[/URL] ,这将无法按您期望的那样工作。如果要在用户单击图像时执行某些操作,则应确保设置的是[I]图像[/I]的[URL="http://www.mathworks.com/help/techdoc/ref/image_props.html#ButtonDownFcn"]'ButtonDownFcn'[/URL] ,而不是图形窗口或轴对象。请注意[URL="http://www.mathworks.com/help/techdoc/ref/figure_props.html#ButtonDownFcn"]图形属性文档[/URL]中的这一行(我添加了重点):
[INDENT][INDENT]每当指针在图形窗口中[B]但不在子对象(即uicontrol,uipanel,axes或axiss child)上方时,[/B]只要您按鼠标按钮[B],便会执行[/B] 。

[/INDENT][/INDENT]这就是为什么必须为每个要为其工作的对象设置一个'ButtonDownFcn'的原因。将其设置为图形窗口将不会使其对图形中的每个对象自动工作。这是为图形和图像对象设置'ButtonDownFcn'的示例:

img = imread('peppers.png'); %# Load a sample image hFigure = figure; %# Create a figure window hImage = image(img); %# Plot an image set(hFigure,'ButtonDownFcn',... %# Set the ButtonDownFcn for the figure @(s,e) disp('hello')); set(hImage,'ButtonDownFcn',... %# Set the ButtonDownFcn for the image @(s,e) disp('world')); 请注意,在图像的内部和外部单击如何显示不同的消息,因为每个对象都为不同的对象调用'ButtonDownFcn' 。还要注意,如果单击其中一个轴的刻度标记,则不会显示任何内容。这是因为axes对象具有自己的[URL="http://www.mathworks.com/help/techdoc/ref/axes_props.html#ButtonDownFcn"]'ButtonDownFcn'[/URL] ,未将其设置为任何值。
[*]如果您有权使用[URL="http://www.mathworks.com/help/toolbox/images/"]图像处理工具箱[/URL] ,则可以使用功能[URL="http://www.mathworks.com/help/toolbox/images/ref/imfreehand.html"]IMFREEHAND[/URL]来使用户在图像中绘制ROI(感兴趣区域)。然后,您可以使用[URL="http://www.mathworks.com/help/toolbox/images/ref/imroi.html"]createMask方法[/URL]创建图像的二进制蒙版,其中ROI内的像素为1,ROI内的像素为0。
[/LIST]
[url=https://stackoverflow.com/questions/4546499]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 20:32

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.