matlab getdata 仿照一个曲线 提取图像中的曲线数据

0 开局一张图,PS打开另存为jpg格式的图像。

目标:图里2个曲线,提取出x和y线。
在这里插入图片描述

第一步,右键图片用windows图片编辑器打开图。然后用白色画笔覆盖,留一条曲线出来就行。

在这里插入图片描述
比如我留了黑色那一条:
在这里插入图片描述

第二步,打开getdata软件。

第三步,打开图像。

在这里插入图片描述

第四步,设置坐标。

在这里插入图片描述
四个点标定。
在这里插入图片描述

第五步,取出数据。

在这里插入图片描述
细分程度设置:
在这里插入图片描述
拉取图像区域
在这里插入图片描述
得到
在这里插入图片描述

第六步 导出数据 可以用getdata自带的,麻烦。提倡直接鼠标拉取想要的数据。拉取选好后 ctrl+C复制

在这里插入图片描述

第七步 桌面新建一个txt文件, ctrl+V把刚才的数据粘贴进去。保存后关闭记事本。

在这里插入图片描述

第八步,复制粘贴wada.txt到matlab工作空间。

在这里插入图片描述

第九步,写脚本画曲线。

rawdata=importdata('wada.txt');
x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2plot(x,y)

第十步 得到曲线

在这里插入图片描述

第11步 间隔取点画线


rawdata=importdata('wada.txt');

x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列

x=reshape(x.',1,[]);  %flatten效果 拉成一条线
y=reshape(y.',1,[]);  %flatten效果 拉成一条线

x=x(1:5:length(x))  % 间隔取点
y=y(1:5:length(y))  % 间隔取点

plot(x,y)

在这里插入图片描述

第12步 平滑曲线,修正噪声数据。我用着效果不是很好,这工具用来修正噪声数据的 不是很适合我。

https://www.cnblogs.com/rjjhyj/p/8878357.html

第13步 多项式拟合


rawdata=importdata('wada.txt');

x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列

x=reshape(x.',1,[]);  %flatten效果 拉成一条线
y=reshape(y.',1,[]);  %flatten效果 拉成一条线

x = x(1:5:length(x));  % 间隔取点
y = y(1:5:length(y));  % 间隔取点

p=polyfit(x,y,5); %5次多项式拟合 返回拟合系数

y_fit=polyval(p,x); %拟合数

plot(x,y_fit)

在这里插入图片描述

第14步 取出自己想要的坐标点

rawdata=importdata('wada.txt');

x=rawdata(:,1); %提取第1列
y=rawdata(:,2); %提取第2列

x=reshape(x.',1,[]);  %flatten效果 拉成一条线
y=reshape(y.',1,[]);  %flatten效果 拉成一条线

x = x(1:5:length(x));  % 间隔取点
y = y(1:5:length(y));  % 间隔取点

p=polyfit(x,y,5); %5次多项式拟合 返回系数

x_new=180:5:260  %180260 间隔5取一个点
y_new=polyval(p,x_new) %拟合数

plot(x_new,y_new)

双击数据即可获取
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值