通过shell叠加图像

时间:2011-06-06 11:56:07

标签: image bash matplotlib

我有两个数字,一个是由一些计算产生的数据图,用matplotlib制作,另一个是从谷歌地图拍摄的世界地图。我想将matplotlib数字减少到某个百分比值并将其叠加在特定位置的地图图片上并获得最终的“混合”图片。我知道它可以用图形问题来完成,但是我想在shell上自动完成数千种不同的情况,我想知道你是否可以为此提出一些方法/想法。

3 个答案:

答案 0 :(得分:2)

ImageMagick可以完成composite命令。有关用法,请查看此网址以获取示例:http://www.imagemagick.org/Usage/annotating/#overlay

答案 1 :(得分:2)

以防万一你在绘制数据时想直接使用matplotlib(否则imagemagick很棒):

import Image
import matplotlib.pyplot as plt
import numpy as np

dpi = 100.0

im = Image.open('Dymaxion_map_unfolded.png')
width, height = im.size
fig = plt.figure(figsize=(width / dpi, height / dpi))
fig.figimage(np.array(im) / 255.0)

# Make an axis in the upper left corner that takes up 20% of the height and 30%
# of the width of the figure
ax = fig.add_axes([0, 0.7, 0.2, 0.3])
ax.plot(range(10))

plt.show()

enter image description here

答案 2 :(得分:1)

这听起来像ImageMagick非常适合,特别是。 -layers开关。