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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

$ A2 {% a# y% u+ t& J1 ^一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。( M; F' f0 A( L4 p2 w- V0 M$ j
那么如何利用这张图,自己获取数据呢?9 n  _" v  A' x8 d+ V
比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:) {& D$ i" J3 ^% |) q4 L# ^* E
$ Q: k" y6 {! h4 T% M
clear all;
1 z( `3 x8 ~6 @5 Xclc;
. u; |" h" F: z- {3 w# q. yy=imread('./input.JPG'); %读取该图* F, C4 ^' f0 w( @
imshow(y); %显示该图3 C0 Z9 ~! j; k5 W0 }0 F
set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点
- P8 p; @* P4 f8 L3 j( b; b; E5 ^1 x, G6 D, Y& a) h
[x0,y0] = ginput;  %利用鼠标取点,按回车键结束。
8 j' O4 |, Y) }+ n' N" }%这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。# q4 C" r( J8 [4 |

0 o4 D3 D# R2 p3 C0 v%存取角点坐标信息9 k  F& J- b& \1 a- B
save corner.mat x0 y0. m; D3 v6 @" }

& Q: c* [; u% f%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束! X& y+ u- l% t4 R5 i7 X
[x1,y1] = ginput;9 ^" o* q& |! X% t0 ~4 L
* A3 o$ K% j3 T( w  H/ B

, k5 M" Y/ g, H; L- w%存取曲线1的点源信息9 o- a" c1 ?4 |
save line1.mat x1 y17 `% p" b! \1 \
: [4 x$ g5 }+ A2 L! @  c
%其余曲线类推
: O; C3 H8 M. {+ w/ b0 @# [8 h* q7 u& ?/ O0 t$ ~( ~7 f. s" q# Q% g
%重画$ A# f1 G5 O3 x% s2 M, @
%因为屏幕坐标是从左上角为坐标原点开始的,需要做些变换
( j3 H7 p9 D. t( P7 H" S( n%四个角点对应的坐标为(0,0) (0,4),(8,4),(8,0)! O( i/ ]1 T& f5 P6 U- g
x1 = (x1-min(x0))*8.0/(max(x0)-min(x0));8 N' \2 E! p; v  t' M& ~6 X: H/ t
y1 = (y1-max(y1))*4.0/(min(y0)-max(y0));
8 C2 N( B' e( g; |2 s% Y: Z: Hplot(x1,y1,'k.','Markersize',5);
9 G. E) M6 u( s! e0 |axis equal;" c. I. ?8 s; C! g& n& [6 s* y* I
axis([0 8 0 4]);
# @. B) e5 |- J( q5 Cset(gcf,'outerposition',get(0,'screensize'));
; p6 O% o5 N3 z; c3 o2 n( W

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 03:33 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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