Matlab 版 (精华区)
发信人: hahn (有奇☆闭关造文中), 信区: Matlab
标 题: [合集] 图像取点的问题
发信站: 哈工大紫丁香 (Fri Sep 29 16:41:29 2006), 站内
────────────────────────────────────────
zealotxbq (雪崩光电二极管) 于 (Mon May 29 19:57:33 2006) 说道:
我在GUI界面上利用输入的数据作了一个图,现在我想在这个图上
用鼠标(用键盘输入搜索野也可以)在曲线上取某个点,请问应该怎么实现,
给个思路就行,谢谢了!
────────────────────────────────────────
zjliu (秋天的萝卜) 于 (Mon May 29 20:26:22 2006) 说道:
思路
http://luobo.yculblog.com/post.1261164.html
【 在 zealotxbq (雪崩光电二极管) 的大作中提到: 】
: 我在GUI界面上利用输入的数据作了一个图,现在我想在这个图上
: 用鼠标(用键盘输入搜索野也可以)在曲线上取某个点,请问应该怎么实现,
: 给个思路就行,谢谢了!
: ...................
────────────────────────────────────────
zealotxbq (雪崩光电二极管) 于 (Tue May 30 12:05:41 2006) 说道:
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 思路
: http://luobo.yculblog.com/post.1261164.html
程序:
% 用鼠标改变点的位置
clear;clc;close all;
n=1;
p1=plot([1 2 3 4],[2 6 4 9],'*');
hold on;
z=get(p1,'XData')+i*get(p1,'YData');
set(gca,'ButtonDownFcn',['pp=get(gca,''CurrentPoint'');',...
'x=pp(1);y=pp(3);if n==1;L=abs(z-x-i*y);N=find(L<0.3);',...
'if N>1;pt=plot(z(N),''rs'');n=~n;end;else n=1;',...
'z(N)=x+i*y;set(p1,''XData'',real(z),''YData'',imag(z));',...
'delete(pt);end']);
师兄,有几个地方我不太明白:
Q1:'pp=get(gca,''CurrentPoint'');'x=pp(1);y=pp(3); “pp”应该是一个数值阿,
“'x=pp(1);”不是把它当成函数了么
Q2: pt=plot(z(N),''rs'');这句的意思是在N的位置上画一个“red square”吗?
谢谢!!!
────────────────────────────────────────
hahn (gemini&&sar) 于 (Tue May 30 12:28:18 2006) 说道:
pp是返回的最后一次点击鼠标的坐标值
pp(1) pp(3)分别是X,Y坐标
plot(z(N),'rs') 是在z(N)处画square
help plot
【 在 zealotxbq (雪崩光电二极管) 的大作中提到: 】
: 程序:
: % 用鼠标改变点的位置
: clear;clc;close all;
: ...................
────────────────────────────────────────
zealotxbq (雪崩光电二极管) 于 (Tue May 30 13:49:10 2006) 说道:
【 在 hahn (gemini&&sar) 的大作中提到: 】
: pp是返回的最后一次点击鼠标的坐标值
: pp(1) pp(3)分别是X,Y坐标
: plot(z(N),'rs') 是在z(N)处画square
: help plot
多谢!
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.676毫秒