Наложение изображений через оболочку - PullRequest
1 голос
/ 06 июня 2011

У меня есть две фигуры, одна из которых представляет собой график данных, полученных в результате некоторых вычислений и выполненных с помощью matplotlib, а другая - это карта мира, взятая из карт Google. Я хотел бы уменьшить значение matplotlib до некоторого процентного значения и наложить его на изображение карты в определенной позиции и получить окончательное «смешанное» изображение. Я знаю, что это может быть сделано с графическими проблемами, и так, но я хотел бы сделать это автоматически на оболочке для тысяч различных случаев, интересно, не могли бы вы предложить какую-то методологию / идеи для этого.

Ответы [ 3 ]

2 голосов
/ 06 июня 2011

ImageMagick может выполнить эту работу, в точности команду composite. Для использования, проверьте этот URL для примеров: http://www.imagemagick.org/Usage/annotating/#overlay

2 голосов
/ 07 июня 2011

На тот случай, если вы захотите сделать это напрямую, используя 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

1 голос
/ 06 июня 2011

Похоже, что-то ImageMagick было бы хорошо для, особенно.переключатель -layers .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...