科学网

 找回密码
  注册

tag 标签: Getdata

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

获取地理信息数据的函数getData {raster}
laijiangshan 2019-10-9 16:30
raster包getData可以获取任何一个国家的行政边界,海拔高度数据和worldclim的气象及未来气象资料的数据,具体案例见下面链接: https://www.gis-blog.com/r-raster-data-acquisition/
个人分类: RDA|5531 次阅读|0 个评论
Mathematica版GetData——用Mathematica提取图片中的数据点
热度 1 qlearner 2016-6-9 20:53
首发: qixinbo.info 阅读文献时常常会遇到只给图像却没有原始数据的情形,此时如果想要提取数据,就得借助相应软件,目测用的最多的就是 GetData ,这个是个商业软件,还有个好用的基于web的开源软件 WebPlotDigitizer 。这里我们基于Mathematica写一套能用于提取图片中数据点的代码。 参考文献(基本思路参考SE上的这个问题,但具体取点和去点方式不同): Recovering data points from an image Attention:这里的版本强烈依赖于Mathematica的版本,此处使用的是10.4版本,目测应该使用10以上版本,因为低版本中不会出现工具提示条。 实际坐标系与图像坐标系的对应 首先使用工具提示条中的“坐标工具”提取已知点的图像坐标,然后选择“复制坐标”并保存(注意保存的数据中的点的先后顺序)。 如图: 利用这些图像中的坐标与实际坐标建立对应关系: 1 2 3 trans = FindGeometricTransform ]; 注意是实际坐标在前,图像坐标在后。 提取曲线颜色 要正确识别出图像中要提取的曲线,必须先让程序知道该曲线的颜色,即RGB值。这里依然使用工具提示条的“坐标工具”,提取曲线上一点后,选择“复制颜色值”。这里仅提取了一个点的RGB值,很难覆盖整条曲线,所以再设置一个忍量,使得与此RGB值相近的点都可以被识别: 1 2 3 4 5 6 7 8 objRGB = {{ 103 , 125 , 174 }}; tolRGB = 40 ; rangeRGB = Flatten / 255.0 ; img1 = ImageApply ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ], { 0.0 , 0.0 , 0.0 }, { 1.0 , 1.0 , 1.0 }] , img] 此忍量的值可视情形调节。以上策略就是当某点的RGB值在忍量之内时,就变为(0.0,0.0,0.0),即黑色,否则则为白色(1.0,1.0,1.0)。 效果如图: 选区和去噪点 从上图可以看出,识别出的曲线中含有一些噪点,如果不处理掉就会影响结果。此时需要对图片进行精修,使其干净无污染。具体方法是采用工具提示条的“掩模工具”(话说10版本的MMA工具提示条真是逆天的存在),将要选择的区域勾勒出来,然后选择“逆掩模为一个图”,之所以是“逆掩模”,是因为要将这部分选出来而不是去除,也不选择“逆掩模为一个图像”,经测试选择“图”而不是“图像”,分辨率要更高。 逆掩模如图: 将此逆掩模的图放入下面代码中的Masking参数中即可: 1 curve = ImageApply 结果为: 可以看出噪点已经被去除。 提取数据点的位置 这一步就是提取上面曲线中的黑点的位置,代码为: 1 curvLoc = Reverse /@ Position , { 0. , 0. , 0. }]; 注意这里需要注意Position取得的位置是(1,1)在左上角,而图像坐标则是(1,1)在左下角,所以需要进行一系列变换,具体的变换规则如示意图: 作图并与解析解作对比 实际要提取的曲线是有具体的表达式的,此处将提取出的数据与解析表达式对比: 1 Show ,Plot ] 结果为: 可以看出效果还不错。 目前还是以代码的形式操作,以后没准能有图形界面? 以上。
个人分类: 编程学习|10349 次阅读|2 个评论
Mathematica版GetData——用Mathematica提取图片中的数据点
qlearner 2016-6-9 20:52
首发: qixinbo.info 阅读文献时常常会遇到只给图像却没有原始数据的情形,此时如果想要提取数据,就得借助相应软件,目测用的最多的就是 GetData ,这个是个商业软件,还有个好用的基于web的开源软件 WebPlotDigitizer 。这里我们基于Mathematica写一套能用于提取图片中数据点的代码。 参考文献(基本思路参考SE上的这个问题,但具体取点和去点方式不同): Recovering data points from an image Attention:这里的版本强烈依赖于Mathematica的版本,此处使用的是10.4版本,目测应该使用10以上版本,因为低版本中不会出现工具提示条。 实际坐标系与图像坐标系的对应 首先使用工具提示条中的“坐标工具”提取已知点的图像坐标,然后选择“复制坐标”并保存(注意保存的数据中的点的先后顺序)。 如图: 利用这些图像中的坐标与实际坐标建立对应关系: 1 2 3 trans = FindGeometricTransform ]; 注意是实际坐标在前,图像坐标在后。 提取曲线颜色 要正确识别出图像中要提取的曲线,必须先让程序知道该曲线的颜色,即RGB值。这里依然使用工具提示条的“坐标工具”,提取曲线上一点后,选择“复制颜色值”。这里仅提取了一个点的RGB值,很难覆盖整条曲线,所以再设置一个忍量,使得与此RGB值相近的点都可以被识别: 1 2 3 4 5 6 7 8 objRGB = {{ 103 , 125 , 174 }}; tolRGB = 40 ; rangeRGB = Flatten / 255.0 ; img1 = ImageApply ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ] # ] rangeRGB ], { 0.0 , 0.0 , 0.0 }, { 1.0 , 1.0 , 1.0 }] , img] 此忍量的值可视情形调节。以上策略就是当某点的RGB值在忍量之内时,就变为(0.0,0.0,0.0),即黑色,否则则为白色(1.0,1.0,1.0)。 效果如图: 选区和去噪点 从上图可以看出,识别出的曲线中含有一些噪点,如果不处理掉就会影响结果。此时需要对图片进行精修,使其干净无污染。具体方法是采用工具提示条的“掩模工具”(话说10版本的MMA工具提示条真是逆天的存在),将要选择的区域勾勒出来,然后选择“逆掩模为一个图”,之所以是“逆掩模”,是因为要将这部分选出来而不是去除,也不选择“逆掩模为一个图像”,经测试选择“图”而不是“图像”,分辨率要更高。 逆掩模如图: 将此逆掩模的图放入下面代码中的Masking参数中即可: 1 curve = ImageApply 结果为: 可以看出噪点已经被去除。 提取数据点的位置 这一步就是提取上面曲线中的黑点的位置,代码为: 1 curvLoc = Reverse /@ Position , { 0. , 0. , 0. }]; 注意这里需要注意Position取得的位置是(1,1)在左上角,而图像坐标则是(1,1)在左下角,所以需要进行一系列变换,具体的变换规则如示意图: 作图并与解析解作对比 实际要提取的曲线是有具体的表达式的,此处将提取出的数据与解析表达式对比: 1 Show ,Plot ] 结果为: 可以看出效果还不错。 目前还是以代码的形式操作,以后没准能有图形界面? 以上。
个人分类: 编程学习|8065 次阅读|0 个评论
怎样从实验图中读取数据点?
guowl 2009-5-20 22:07
网友 ly229668880 推荐专业软件 Getdata Graph Digitizer (大小1 M 左右), 试用了一下, 真的非常好用!强烈建议大家用上面这个软件。 发现这个软件的坐标只能是线性和对数(10为底的)坐标两种, 如果有人遇到其它诡异的坐标, 我下面的方法也许有帮助! 最近要用到一个实验的数据, 文章里没有给具体的数据表, 只给出了实验数值的图! 这可为难我了。 主要是该图的横纵坐标都是对数坐标而且还有误差棒!要把所有21个点(红色的)都给读出来! 见下面实验图: 首先想起当初用过的笨办法: 就是把图打印出来, 用尺子量之后再换算, 工作量很大,容易出错而且不准确! 昨天突发奇想, 找到个一个容易又准确(肉眼看不出来)的方法, 下面我就写我是什么弄的, 或许会对大家有帮助! 第一步: 用微软自带的画图工具将原始图沿着坐标边框剪下来(其它抓图软件也可以)! 第二步: 用画图软件 Origin , 画一个相同坐标的空白图! 将上一步中的图粘贴过来! 如图2 第三步: 将粘贴过来的图拉成与空白图坐标一致(最好将坐标的刻度向外侧翻, 这样好对齐!)。 第四步:点击最右边的一个读数按钮( 如图3 )。将鼠标移到你要读数的位置后双击鼠标, 黑底绿字的方框就会显示相应的坐标了!
个人分类: 科学|17736 次阅读|7 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 20:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部