加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab鼠标按下并移动选取图像上的坐标,放开时停止(转载)

(2017-03-17 14:33:09)
标签:

matlab

圈出某一区域

鼠标消息响应

分类: 算法


功能:按下鼠标后并拖动鼠标,记录鼠标移动过的像素坐标,放开鼠标时结束。

set(gcf,'WindowButtonDownFcn',@ButtonDownFcn);

set(gcf,'WindowButtonUpFcn',@ButtonUpFcn);

set(gcf,'WindowButtonMotionFcn',@ButtonMotionFcn);

gcf为当前figure的句柄;gca为当前坐标轴的句柄。


function test_mouse_track()
% I = imread('1.bmp');
% imshow(I); hold on
figure;hold on
axis([-10,10,0,5]);
set(gcf,'WindowButtonDownFcn',@ButtonDownFcn);
set(gcf,'WindowButtonUpFcn',@ButtonUpFcn);

% set(gcf,'WindowButtonDownFcn',@ButttonDownFcn);

function ButtonDownFcn(src,event)
pt = get(gca,'CurrentPoint');    %获取当前点坐标
x = pt(1,1);
y = pt(1,2);
set(gcf,'WindowButtonMotionFcn',@ButtonMotionFcn); %设置鼠标移动响应
fprintf('x=%f,y=%f\n',x,y);
plot(x,y,'*');

function ButtonMotionFcn(src,event)
pt = get(gca,'CurrentPoint');
x = pt(1,1);
y = pt(1,2);
plot(x,y,'*');
fprintf('x=%f,y=%f\n',x,y);

function ButtonUpFcn(src,event)
set(gcf, 'WindowButtonMotionFcn', '');    %取消鼠标移动响应

最后,这篇博客貌似不错,记录一下,以备不时之需。 http://blog.sina.com.cn/s/blog_6163bdeb0100q7iu.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有