马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。
那么如何利用这张图,自己获取数据呢?
比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:
- <font color="#000000">clear all;
- clc;
- y=imread('./input.JPG'); %读取该图
- imshow(y); %显示该图
- set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点
- [x0,y0] = ginput; %利用鼠标取点,按回车键结束。
- %这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。
- %存取角点坐标信息
- save corner.mat x0 y0
- %开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束
- [x1,y1] = ginput;
-
- %存取曲线1的点源信息
- save line1.mat x1 y1
- %其余曲线类推
- %重画
- %因为屏幕坐标是从左上角为坐标原点开始的,需要做些变换
- %四个角点对应的坐标为(0,0) (0,4),(8,4),(8,0)
- x1 = (x1-min(x0))*8.0/(max(x0)-min(x0));
- y1 = (y1-max(y1))*4.0/(min(y0)-max(y0));
- plot(x1,y1,'k.','Markersize',5);
- axis equal;
- axis([0 8 0 4]);
- set(gcf,'outerposition',get(0,'screensize'));</font>
复制代码
转自:http://blog.sina.com.cn/s/blog_5def5a660101332c.html
|