数字化绘图并提取轨迹。

PlotDigitizer的Python项目详细描述


[![生成状态](https://travis-ci.org/dilawar/PlotDigitizer.svg?branch=master)](https://travis-ci.org/dilawar/PlotDigitizer)[![pypi版本](https://badge.fury.io/py/PlotDigitizer.svg)](https://badge.fury.io/py/PlotDigitizer

#绘图仪

用于数字化绘图的python(python3)脚本(正在开发中)

#流量

  1. 从图像中删除所有文本。只剩下轴和图。

这是来自麦克法登和科什兰,PNAS 1990。 啊![](./figures/original.png)

应该修剪一下。理想情况下,您还应该删除顶部边框。您可以使用gimpimagemagick或任何其他裁剪工具。

啊![](./figures/trimmed.png)

  1. 然后我们像这样运行脚本。

` ./plotdigitizer.py -i ./figures/trimmed.png -p 0,0 -p 10,0 -p 0,1 `

选项接受输入文件。重要的选项是重复的-p选项。 这些是数据点。我们至少需要其中3个来映射轴与图像中的像素。 在这个例子中,我们给出了三个数据点0,010,00,1。我们要点击 关于这三点的图像稍后。请确保按相同的顺序单击。

三。数据点将转储到csv文件中。如果–plot选项由命令提供 第行,它还将绘制计算的数据点。这需要matplotlib

啊![](/图/traj.png)

注意盒子附近的错误;因为我们还没有修剪它们。

_ imp:图像的左下角是(0,0)

点击这些点后,算法将提取轨迹。

如果你已经知道这些坐标的位置,你可以通过 使用-l选项的命令行,例如

` ./plotdigitizer.py -i ./figures/trimmed.png -p 0,0 -p 10,0 -p 0,1 -l 10,10 -l 200,20 -l 10,27 `

#限制

当前此脚本有以下限制:

  • 背景不能透明。它可以在透明背景下工作,但是 我没试过。
  • 目前只支持黑白图像。彩色图像在读取时将转换为灰度。
  • 一个图像应该只有一个轨迹。

你可能对更多才多艺感兴趣 [网络绘图数字化仪](https://automeris.io/WebPlotDigitizer/)作者Ankit Rohatagi。

#开发

如果您增强了脚本,请随时发送PR。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误