数字化绘图并提取轨迹。

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中序列化/反序列化引用?   hibernate更新到OneToMany集合时违反java唯一约束   java ConcurrentLinkedQueue是否定期清空?   JavaGAE和socket数据   java如何解决JTree中的显示问题?   Java如何选择泛型类类型“onthego”   javascript Selenium web驱动程序卡在命令中:page_source   java AcceptRanges在GWT中与RequestBuilder一起工作吗?   java日期\时间差输出不正确   为什么这个java应用程序打印“true”?   java如何使用Jackson将Json字符串数组反序列化为不同的类型   java在Grobid中使用Gradle时出现如下错误   javacom。黑泽尔卡斯特。果心HazelCastInstanceNoticveException:Hazelcast实例未激活!没有看到任何溢出问题   使用update语句时出现java MySQL错误:“您的SQL语法有错误…”   java Elastic搜索多个数据目录,选择放置索引的位置   java ResultSetMetaData getTableName返回空字符串   java如何在SQL Server数据库查询中获取/使用当前日期+时间   java正确的cookie管理