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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

7 N, n! `6 w# m; E) S一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。
: n1 c. |: z$ i/ [; l那么如何利用这张图,自己获取数据呢?7 G9 t# @; i, h* j. r
比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:
; O( z8 G- k6 l( M0 O7 T
! h1 P$ m/ b8 N0 |( X  V9 pclear all;
: x* s8 r& E* @clc;+ F! b7 O3 _. t- g
y=imread('./input.JPG'); %读取该图
4 C  g' i% m) D; Pimshow(y); %显示该图
0 u4 Y  C1 t- hset(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点
2 m) C3 l7 g. ~# @; u$ ?' i$ ~) }% _; y0 \- \: X( c# Y7 m6 j9 c5 q) m
[x0,y0] = ginput;  %利用鼠标取点,按回车键结束。' x: ], G& a. x# q( s
%这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。& F; k6 ^- q6 B

. h9 Y  ]# ^, j: z/ v3 L. X%存取角点坐标信息
( L( N5 \9 L# F4 j/ nsave corner.mat x0 y0. X( s* s) i# [" o$ Z8 t

) P. K) N1 `" D. j7 d6 K; s: L- F%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束
- S* y% O+ x) I5 Z+ R! M2 w[x1,y1] = ginput;7 r/ `9 g% A/ x" t; N
0 ~: ~; _5 `' {8 X- V
' a9 c0 X. D! ~4 l3 \9 d$ f2 v
%存取曲线1的点源信息
# B4 l1 i  S& nsave line1.mat x1 y1
+ u0 }8 c7 i) a% Q+ N. ]. _( K" X% R/ m* X
%其余曲线类推  X& M! C2 c6 p6 l# ?

% }5 u3 d) q6 X) D. v% q+ L%重画
0 r! A' a$ N: D7 O, O: y, e%因为屏幕坐标是从左上角为坐标原点开始的,需要做些变换5 ^1 o. m( i9 A3 `
%四个角点对应的坐标为(0,0) (0,4),(8,4),(8,0)/ S$ d4 l# L# L  l1 r
x1 = (x1-min(x0))*8.0/(max(x0)-min(x0));5 h/ g/ p8 ?# k: R
y1 = (y1-max(y1))*4.0/(min(y0)-max(y0));/ @  Z! E5 {1 G  T% r; I
plot(x1,y1,'k.','Markersize',5);  |% h, \+ }) D3 P
axis equal;5 d/ C/ [2 N: Z' d
axis([0 8 0 4]);
- w  ?4 m: a4 I; W% Tset(gcf,'outerposition',get(0,'screensize'));
$ Z4 E; S8 g. U  \8 D# {, L+ A, h( r

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 03:48 , Processed in 0.187500 second(s), 27 queries , Gzip On.

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

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

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