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毫秒