找回密码
 注册
关于网站域名变更的通知
查看: 415|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-16 09:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

2 Q! _  \3 ~! a' I. j: j& x一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。! r6 Y; D$ r# I5 ^4 X
那么如何利用这张图,自己获取数据呢?4 x6 E+ }% C% f- w
比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:
# m1 B7 R  P0 X. G, D; p) {$ Y ! W/ H+ G" k2 l7 t1 w: Y" ^; t8 S
clear all;
0 U6 W1 w2 m2 ^1 o- c; [) z2 \& \4 Gclc;! E7 ^9 q5 `! u8 Z5 G
y=imread('./input.JPG'); %读取该图
, X+ y* |8 e8 X. `imshow(y); %显示该图( d' C3 m* L! J' v: J4 m8 k
set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点% ^/ P2 c- `, ~& ]" [
: ^0 M3 R; p+ o
[x0,y0] = ginput;  %利用鼠标取点,按回车键结束。
. v% V6 T& ]8 q4 u%这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。! w5 n( {& X/ U$ z8 t5 O+ K5 G& r
/ w% H$ _* [: L% Y
%存取角点坐标信息1 U) l6 D# h; ^' l5 Y2 a
save corner.mat x0 y0
7 t: i( u3 [) f, M2 `) r1 E4 g: ]& u& R9 {8 L8 u
%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束
! A8 Y* h4 A4 H0 B8 F. T) _' |[x1,y1] = ginput;
& i4 }0 p8 ?& a0 H! W. u! h
$ I' }* Z; `; u! i# A. Q  ~4 x/ a8 i
5 p9 A: v& M/ g" @, j%存取曲线1的点源信息
$ ?3 O( T9 j; T4 C# e$ ]save line1.mat x1 y1
2 O; b- Y2 n; _2 W- C! y, X8 r$ J% p& m$ H( S$ b3 y8 Z) Q' e
%其余曲线类推
5 g3 V7 e+ v3 z1 _5 h
+ F6 i: i: e4 h4 Q6 ^%重画+ @, n' {$ J/ ?% w- S9 x! \
%因为屏幕坐标是从左上角为坐标原点开始的,需要做些变换+ F4 i4 S' ?0 {+ d: I! Q+ I% L
%四个角点对应的坐标为(0,0) (0,4),(8,4),(8,0)
! C- o6 }! N7 r3 p; r/ [- K$ Q! U* g. dx1 = (x1-min(x0))*8.0/(max(x0)-min(x0));
8 p! G# {1 w7 \2 Y6 P& J; Iy1 = (y1-max(y1))*4.0/(min(y0)-max(y0));
5 x1 \2 y0 Y$ L. P+ _; \: bplot(x1,y1,'k.','Markersize',5);
& P& Z6 [9 Y7 m6 ~# w% `2 [! \. t9 I. eaxis equal;9 \$ z: r5 W! Y' Q* b* N
axis([0 8 0 4]);6 _- E. y1 F. ]
set(gcf,'outerposition',get(0,'screensize'));
* t2 i( P4 i# M% d: x

该用户从未签到

2#
发表于 2020-3-16 16:40 | 只看该作者
Matlab手动点取图形曲线数据并重画
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-1 14:01 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表