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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
' [1 Y% R! s+ m$ ~# Y' B
一次,在一篇paper上看到一张图,可惜里面的曲线数据没有提供。) }2 j2 Y: h" k$ v( @. E9 {
那么如何利用这张图,自己获取数据呢?
) M! e: l7 a+ `) |比如有下面这么一张图,我们要用鼠标取得曲线的数值,并记录下来:8 p: S" {8 R: H5 \2 {8 N, T' d* B

. i+ A$ m- D8 gclear all;
0 ^/ Z0 w% p' h* H7 E$ h& |clc;
) ^* Q: I( h! S/ f4 u: E! O4 P3 @y=imread('./input.JPG'); %读取该图; I+ ~+ }! g  _2 [* U2 B  u
imshow(y); %显示该图: n/ v: z3 S) {. p
set(gcf,'outerposition',get(0,'screensize')); %使该图显示最大化,便于取点
' I6 ]4 _# l7 I1 H
3 \+ B% v9 r$ l9 |3 o0 X7 E8 m[x0,y0] = ginput;  %利用鼠标取点,按回车键结束。
( F$ z) L, c; @& Y%这个时候可以顺序点取图中坐标轴的,左下,左上,右上,右下四个点。4 x5 w* ^( X: c) Q4 j  X

7 v; I) Z# O+ I1 `%存取角点坐标信息
- |" C/ f+ R+ w# \5 ?: }, Qsave corner.mat x0 y0- p1 ?' b0 k4 P) a' D; U

6 E* O0 H1 ~2 t5 O, V; L%开始撷取其中一条实线上的点,按你需要的精度,点取任意多的点,回车结束
! r9 k! S) y* R8 e+ j[x1,y1] = ginput;
/ e; h6 \% S2 |! @
$ S9 D. A5 [( J  s / p( I' H2 F! l7 Q* Y2 j! T
%存取曲线1的点源信息
) w  M3 k; ?1 d! N" Ssave line1.mat x1 y1" x; Y# K7 S" n0 Z- U: G: A  Q
; w' @, D8 V2 i, i$ b, X
%其余曲线类推
" T9 Z1 J5 S1 G4 n2 C3 F( j% a4 V; @7 {
%重画
+ N( m) x/ g. C2 H  W%因为屏幕坐标是从左上角为坐标原点开始的,需要做些变换
0 g2 z( @# `- w6 a1 i: z! d%四个角点对应的坐标为(0,0) (0,4),(8,4),(8,0)$ c0 q2 h. ?  v1 I* g0 J
x1 = (x1-min(x0))*8.0/(max(x0)-min(x0));
/ K2 K- L; B& l! My1 = (y1-max(y1))*4.0/(min(y0)-max(y0));' @4 [0 X9 H- m- N6 _
plot(x1,y1,'k.','Markersize',5);- M# r6 Y2 `, Z+ @( t5 ^
axis equal;
. W( ]3 K3 w1 Y; Z0 H0 |axis([0 8 0 4]);" S7 o7 C% f  M  k( P
set(gcf,'outerposition',get(0,'screensize'));9 \# K0 m+ |, v' P! Z- U

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 01:50 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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