2017-04-22 14 views
1

imageio Pythonライブラリについて、私が現在のフォルダから2つの画像を読み込み、すべての色を> 200に置き換える(暗くする)し、新しい.gifイメージに結果を印刷:Pythonのimageioモジュールで複数のフレームが返されない

import imageio 
import numpy as np 

im = 'image1.png' 
im2 = 'image2.png' 
images = [] 
images.append(imageio.imread(im)) 
images.append(imageio.imread(im2)) 
imageio.mimsave('surface1.gif', images, duration = 0.5) 

im4 = imageio.imread('surface1.gif') 
im4[im4 > 200] = 0 
imageio.imwrite('movie.gif', im4, format='gif') 

問題生成された画像のみを1フレーム、1枚のだけの画像ではなく、私はすでにsurface1に「マージ」の画像の両方を含んでいることです.gif。何故ですか?

答えて

0

あなたはこのようにそれを行うことができますget_readerget_writerオブジェクトを使用する:

import imageio 
import numpy as np 

im = 'image1.png' 
im2 = 'image2.png' 
images = [] 
images.append(imageio.imread(im)) 
images.append(imageio.imread(im2)) 
imageio.mimsave('surface1.gif', images, duration = 0.5) 

im4 = imageio.get_reader('surface1.gif') 
writer = imageio.get_writer('movie.gif', duration = 0.5) 
for im in im4: 
    im[im > 200] = 0 
    writer.append_data(im[:, :, :]) 
writer.close() 

私はそれをテストし、期待通りに動作します。

関連する問題