【实例简介】

从事科研或者工程的人员在文档撰写过程中,常需要将文献中的曲线与自己的结果对比,为获取原始数据,一种常用的办法是手动描点,即将原始曲线放大然后打印出来,选取一定数量的点,读出其横纵坐标,然后重绘。对于较为平坦的曲线,这种方法当然可行,但当曲线数量增加,曲线变化复杂,这种方法工作量可想而知。前段时间由于原始数据丢失,仅剩几十幅图片,本人尝试过手动描点,经历几个小时奋战,实在无法继续,索性转向matlab,借助其强大的数据处理能力,编写了两个GUI的小软件image2data、data_poly提取数据,如今大功告成,遂于大家分享。

坐标轴标定

按下面板上的

按钮进行图像放大,

按钮恢复初始显示大小,

钮采用鼠标拖动图像

按钮退出放大或者拖动的鼠标操作模式,空格键表示取点

操作,

键表示删除上一次取点操作,状态栏的显示当前鼠标取点总数目(注意,

初始点数为,然后存处个坐标轴标定坐标,剩余用来存储曲线坐标)。值得指山的是,

每次放大或者拖动桨作完毕后,必须按下

按钮,才能用空格键进行取点操作。

匹回图

0

0.40

0.35

1 MHz

足0.30

0.25

30 MHz

0.20

frequency>100 MHz

型3

0

681012141618

REVERSE VOLTAGE (V

Figure 1. RF Capacitance vs Reverse

Bias. HSMP-3810 Series

图坐标轴定标

曲线描点

按照上述操作反复进行图像放大、拖动、取点,状态栏的和用于显示当前坐标

(注紊,这个坐标图像坐标,轴方向向下,后面坐标变换需要考虑),下图给出了描点完

毕后的曲线,可以看出取点基本代表了曲线的全部信息。

0.45

E040

035

1 MHz

0.30

025

30 MHZ.

frequency> 100 MHz

pr/。no

0.15

68101214161820

REVERSE VOLTAGE (V)

Figure 1. RF Capacitance vs Reverse

m[1

Bias. hsMP-3810 Series

图曲线描点

数据处理及存储。

按下按钮,描点后的曲线会显示在图像当中,按下

按钮,程序自动进行

坐标转换,得到所有描点的真实坐标,按卜按钮,使会生成一个文木,数据记录其

和按钮下都有文本输入框,本别代表输入文本和存储文本的名称,不带后

缀)。

045

"z55sd

0.35

1M

30

025

30 MHa

frequency>100 MHz

0.15

02468101214161820

REVERSE VOLTAGE (V

Figure l. RF Capacitance vs Reverse

se4

Bias. HsMP-3810 Series

图拟合曲线效果

记事本

巴回囟

文件〕编辑巴)格式迫!查看y1帮助)

6,6ag15-92h432562gP-681

1.18153B60-91488g2c-891

2.15288c-E914.81Q68c-691

.93177一Bg1

571882c-6E

-8Ube-出14.168y!:e-Uk1

面=363211g-9g1py9py6-681

7.99日969e-B914。394g55e-91

9.6696599e-B913.941218e-091

1.119913-Bg3.E786699g-651

1.36361243.779192-681

1,5邵3777e十3.71813e-61

17699899e+053.6164171e-691

1_97了5775巴十B035小B725-661

2-3111uB!g318286-B1

2.了7阳7P??5"24"9236P-R1

3.12096E5e+gs2502的9e-661

3.526859e-E日31756187e-651

391427562B9.1158646e-681

4_287193.806E87ge-651

h。47785F7eB98,38E17e-61

↓816F877e+2.9877229e-661

5.342g3B6e-Eg2.92049e-661

5,6428g1eB9g2.B86ge61

68697eBgg28616e-81

6652032cE9g

78786ggc-691

图数据记录文本

数据后处理

由于以上数据是于动选取的,故分布不够均匀,下面我们通过数据拟合,然后重新采样

得到等间距的数据(可能大家会问,为什么两个功能不做在起呢?数据拟合是个比较味烦

的事情,本组曲线采用多项式拟合即可,可对于更多的曲线采用指数函数、正弦函数等才能

得到比较好的结果

中的工具箱就包含了很多的拟合函数,为避免重复工作,

仅绵写了

这个小软件用来数据拟合再采样,其他的拟合就靠

了)。运行

代表多项式拟合的阶数(一般就够用了),代表重新釆样的数据个数,

其他几个就不用解释了,默认输入文本为

输出文本为

,数据拟合结果如下

图所示

Xmax 23 ymax

045

fing

图数据拟合再采样结果

至此,数据提取过程完毕,可能操作上有些不便(毕竞只是小T具而已),但比起于动

描点的速度和精度,可谓小巫见大巫。

软件编写要点

这两个小软件从构思到完成大概用了两大,功能的完成绝大部分归功」

丰富的

函数库和方便的,其中用到的主要函数上要有

列衣如下,更详的介绍请参阅

文档。

表主要函数列表

除了上述函数的掌握之外,还需要对

的数据结构和函数响应有一定的理解,

在此就不多讲了(多看

相关例程就明白了)。

编写程序之前,首先心中要有一个框架,做些什么,怎么做,顺序如何等。本软件的结

构如下图所示:

导入图像

创建数据结构

坐枟轴定标

曲线描点

坐标变換

数据后处彐:拟合、重新采样、存储

图程序沇程示意

导入图像程序段:

创建数据结构程序段

坐标轴定标及坐标变换:

数据后处理代码段

附录

3.1描点数据列表

数据拟合结果

3.3、重新采样数据列表

【实例截图】

【核心代码】

用Matlab提取图片中泰文,利用Matlab提取图片中的数据相关推荐

  1. matlab如何取对数坐标,利用Matlab提取图片中曲线数据(线性修正,支持对数坐标)

    利用Matlab提取图片中曲线数据 前一段时间看到一篇文章"利用Matlab提取图图片中的数据",觉得思路挺好,遂下载下来研究了一番,发现作者所编写的程序没有考虑原始图片非水平放置 ...

  2. matlab文件名加前缀_利用MATLAB批量对文件重命名

    利用MATLAB批量对文件重命名 tags: - MATLAB - 科研软件 序 没paper,实验肯定要做啊,不做就毕不了业 . 编程这方面,编程是不可能编程的,这辈子不可能编程的 . paper又 ...

  3. matlab std函数_如何利用Matlab进行小波分析

    小波分析(wavelet analysis), 或小波转换(wavelet transform)是指用有限长或快速衰减的.称为母小波(mother wavelet)的振荡波形来表示信号.该波形被缩放和 ...

  4. matlab水果定位与分割,利用Matlab软件和BP神经网络快速识别水果实现分拣

    我国是水果生产与消费大国,我国水果不但品种丰富,而且以水果为原料的食品如罐头.果冻等加工产业也颇具规模.然而,在水果果料的加工过程中可能会不经意地混入诸如毛发.纤维丝.纸屑.金属.油漆等异物,从而对产 ...

  5. matlab如何使用word文档,MATLAB与Word混合使用

    MATLAB提供notebook将Microsoft Word和MA TLAB完美结合,即在编辑Word文档时利用MATLAB资源,包括科学计算和绘图功能,这样的文件也叫M-book文档.其工作原理是 ...

  6. matlab对图像进行增强,利用matlab对图像进行增强处理.doc

    利用matlab对图像进行增强处理.doc 郑州轻工业学院课程设计任务书题目利用MATLAB对图像进行增强处理专业.班级电子信息工程07级学号姓名主要内容.基本要求.主要参考资料等:主要内容:在图像形 ...

  7. matlab画三维图电磁场,利用matlab实现矩形波导电磁场分布图的绘制.doc

    利用matlab实现矩形波导电磁场分布图的绘制.doc 利用MATLAB实现矩形波导电磁场分布图的绘制(附源程序)通过MATLAB计算并绘出任意时刻金属矩形波导的主模TE10模的电磁场分布图.波导尺寸 ...

  8. matlab图片拼接变成白的,利用matlab实现对图片的拼接

    利用matlab实现对图片的拼接 (图像处理的课堂小作业,简单地手打代码,有问题请联系) 1.效果图 (先看效果图,后思考怎么实现) 原图: 简单拼接: 再进一步操作,加了线: 2.原理 1.matl ...

  9. 用matlab求解信号的DFT,利用MATLAB实现信号DFT的计算

    07级电信(2)班 刘坤洋 24 实验一 利用MATLAB 实现信号DFT 的计算 一.实验目的: 1.熟悉利用MATLAB 计算信号DFT 的方法 2.掌握利用MATLAB 实现由DFT 计算线性卷 ...

最新文章

  1. 新手探索NLP(十一)——知识图谱
  2. redis 本机链接服务端命令
  3. 深入理解 Java 垃圾回收机制
  4. mvn 修改所有子项目pom版本
  5. Linux 中设置环境变量的三种方法
  6. [专栏精选]UI的自动布局
  7. 极域电子教室软件怎么脱离控制_新疆灵感科技技术汇总~LED控制卡常见软、硬件问题...
  8. apache cgi python
  9. springboot的多数据源配置(多库/主从等等场景)
  10. 网管员的任务与职责漫谈
  11. 基于STM32和SIM900A的监测系统设计(上位机基于labVIEW开发,数据库采用MySQL)
  12. 快速入门机器学习——特征抽取
  13. echarts 自定义鼠标划过的显示 与 自定义legend
  14. 超声波模块的原理介绍之时间函数和digitalRead函数的使用
  15. iOS开发之音视频边下边播缓存方案
  16. [计算几何]Last Stardust
  17. ElasticSearch--索引与类型
  18. MySQL编程实战三之求任务执行批次号
  19. Spring Cloud Netflix 知识整理
  20. 16S扩增子分析专题课01背景介绍

热门文章

  1. GEE 01 -Sentinel2A 哨兵数据下载
  2. 微联微信管理平台软--- 微信营销平台运营首选的平台软件
  3. Excel Vba无法连接 远程 Mysql数据库问题的解决方法
  4. 刚刚,微信和企业微信双双重磅更新,你想要的功能这次全都有!
  5. vue中使用vuex(超详细)
  6. 微信小程序评分组件rater(打分,五颗星,不支持半颗行)
  7. 【通信原理】信道编码——线性分组码
  8. sqlmap问题及解决办法
  9. 【luogu2026】【数学】求一次函数解析式
  10. 让一切都停下来——Unschedule