数字化绘图并提取轨迹。

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为什么加载个人密钥库需要这么多时间?   当我使用main创建Android应用程序UI时,如何通过java修改它。xml文件?   java Tomcat 6和7:WebappClassLoader:尝试为名称org/apache/openjpa/persistence/osgi/BundleUtils复制类定义   java`parseInt()`和`parseDouble()`throw`NumberFormatExeption`   JavaSpringMongoDB填充引用   在LinuxMint中打开Eclipse时发生java错误;OpenJDK 64位服务器VM警告:忽略选项MaxPermSize=512m;支持在8.0中被删除   使用PKCS7Padding的AES CBC加密在Java和Objective中有不同的结果   java为什么Jackson要用一个以类命名的额外层来包装我的对象?   json在Java中使用parallelStream提取值   JavaSpring存储库自动生成方法:按给定的顶部编号+按字段描述排序选择   java是否有可序列化的标准闭包接口?   .NET与Java在初创公司的web应用程序开发   如何修复java。java中的lang.unsatifiedLinkError   JavaFX+Spring Boot+Hibernate应用程序对多个环境的java支持   自定义视图组中的java更改未呈现