搜档网
当前位置:搜档网 › Matlab手动点取图形曲线数据并重画

Matlab手动点取图形曲线数据并重画

Matlab手动点取图形曲线数据并重画
Matlab手动点取图形曲线数据并重画

Matlab手动点取图形曲线数据并重画

(2010-04-26 19:06:45)

标签:

分类:matlab

matlab

鼠标取点

杂谈

一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。

那么如何利用这张图,自己获取数据呢?

比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:Array

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'));

相关主题