2016-03-29 11 views
2

での結果とPythonPythonのPILは画像私はPILを使って一つに3枚の画像を合成するために、次を使用しようとしていますすべての黒画像

import sys 
from PIL import Image 

images = map(Image.open, ['ib1.jpg', 'ib2.jpg', 'ib3.jpg']) 
widths, heights = zip(*(i.size for i in images)) 

total_width = sum(widths) 
max_height = max(heights) 

new_im = Image.new('RGB', (total_width, max_height)) 

x_offset = 0 
for im in images: 
    new_im.paste(im, (x_offset,0)) 
    x_offset += im.size[0] 

new_im.save('test.jpg') 

test.jpgイメージが正しい高さのようですが、組み合わせ画像は完全に黒です。

誰でも手助けできますか?

+0

使用している実際の3枚の画像を投稿できますか? –

答えて

1

2016年3月29日編集:Pythonの3の

mapは、発電機を返し、それがあなたのzip関数呼び出しで使い果たしてしまったので、発電機はちょうどあなたのためのループで空のリストを生成します。 あなたは、あなたが期待通りに動作するはずです

images = list(map(Image.open, ['ib1.jpg', 'ib2.jpg', 'ib3.jpg'])) 

images = map(Image.open, ['ib1.jpg', 'ib2.jpg', 'ib3.jpg']) 

を変更することができます。

前の投稿:私は私のマシン上でテストしていると、あなたが期待するが、Pythonの3(3.5.1)ドンとして(私のマシン上で2.7.11)はPython 2で実行同じコードが動作すると思われ

」 t。私は理由を考え出しています。

+0

ありがとう、Python 3で素晴らしい作品 – fightstarr20

関連する問題