数字化绘图并提取轨迹。
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)脚本(正在开发中)
#流量
- 从图像中删除所有文本。只剩下轴和图。
这是来自麦克法登和科什兰,PNAS 1990。 啊![](./figures/original.png)
应该修剪一下。理想情况下,您还应该删除顶部边框。您可以使用gimp 或imagemagick或任何其他裁剪工具。
啊![](./figures/trimmed.png)
- 然后我们像这样运行脚本。
` ./plotdigitizer.py -i ./figures/trimmed.png -p 0,0 -p 10,0 -p 0,1 `
选项接受输入文件。重要的选项是重复的-p选项。 这些是数据点。我们至少需要其中3个来映射轴与图像中的像素。 在这个例子中,我们给出了三个数据点0,0,10,0和0,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。