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

z=imread('1.jpg');

imshow(z)

I=imread('f:/1.jpg')

imshow(I)

1: 若fig图像文件存在,而其数据丢失,可直接使用函数从fig文件中将数据导出

①open('d:\filename.fig');% filename是文件名

% 取出曲线的handle,这里gca表示当前图形的CurrentAxes属性

% 如果图中有多条曲线,lh为一个数组

lh = findall(gca, 'type', 'line');

% 取出x轴数据

xc = get(lh, 'xdata');%多条曲线,若取第i条线的数据,则xc=get(lh(i),'xdata')

% 取出y轴数据

yc = get(lh, 'ydata');

%结果显示

xc %x轴数据矩阵

yc %y轴数据矩阵

解释:

gcf 返回当前Figure对象的句柄值

gca返回当前axes对象的句柄值

gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab 会把当前图形对象的句柄值存放在Figure的CurrentObject属性中。

2:若为非fig格式的其他常见图片格式,如.jpg,.png等等,可采取手动点击和程序取值等方式。

①手动点击取值作图

clear all;

clc;

y=imread('d:\xx.png'); %读取该图

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

%其余曲线类推

%存取曲线2的点源信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值