最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例詳解

 更新時(shí)間:2023年11月19日 11:12:26   作者:River Chandler  
這篇文章主要介紹了Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例,文章通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以自己動(dòng)手試一下
  • Python 由多張圖片合成gif動(dòng)畫 
  • 案例
import os
figure_save_path = "file_fig_test"
import warnings
warnings.filterwarnings("error")
import numpy as np
np.random.seed(0)
import matplotlib.pyplot as plt
from PIL import Image
import time
 
num = 100
gif_frames = []
open_time = []
save_time = []
plot_time = []
 
for i in range(num):
    #圖形繪制
    start_time = time.time()
    plt.scatter(np.random.random(), np.random.random())
    end_time = time.time()
    plot_time.append(end_time-start_time)
 
    #創(chuàng)建圖形保存文件夾
    if not os.path.exists(figure_save_path):
        os.makedirs(figure_save_path)
    else:
        pass
 
    #保存圖形
    start_time = time.time()
    plt.savefig(os.path.join(figure_save_path, str(i) + ".jpg"))
    end_time = time.time()
    save_time.append(end_time-start_time)
 
    #打開圖形
    start_time = time.time()
    img = Image.open(os.path.join(figure_save_path, str(i) + ".jpg"))
    end_time = time.time()
    open_time.append(end_time-start_time)
 
    gif_frames.append(img)
 
print("動(dòng)畫繪制開始")
start_time = time.time()
gif_frames[0].save("test.gif",
        save_all=True, append_images=gif_frames[1:], duration=200, loop=0)
end_time = time.time()
print("動(dòng)畫繪制完成,用時(shí):", round(end_time-start_time, 6))
print("平均動(dòng)畫繪制完成,用時(shí):", round((end_time-start_time)/num, 6))
 
print("平均圖形繪制用時(shí):", round(sum(plot_time)/len(plot_time), 6))
print("平均圖形保存用時(shí):", round(sum(save_time)/len(save_time), 6))
print("平均圖形打開用時(shí):", round(sum(open_time)/len(open_time), 6))
  • 動(dòng)畫生成結(jié)果就不放了 
  • 讓我們看看什么操作最耗時(shí)

動(dòng)畫繪制開始
動(dòng)畫繪制完成,用時(shí): 3.61503
平均動(dòng)畫繪制完成,用時(shí): 0.03615
平均圖形繪制用時(shí): 0.004437
平均圖形保存用時(shí): 0.146415
平均圖形打開用時(shí): 0.000287

  • 這是保存圖形用時(shí)隨圖像數(shù)量的變化 
    • 考慮到繪制點(diǎn)數(shù)的增長(zhǎng),這是合理的

  •  這是圖形打開用時(shí)
    • 變換不大,這是合理的

  • 這是每次scatter的用時(shí)
    • 看上去也比較合理

  • 那我們?cè)倏纯措S著圖片數(shù)量的增長(zhǎng),繪制動(dòng)畫的用時(shí)變化
gif_time = []
for i in range(20, 100):
    new_frames = gif_frames[:i]
    start_time = time.time()
    new_frames[0].save(str(i)+".gif",
        save_all=True, append_images=gif_frames[1:], duration=200, loop=0)
    end_time = time.time()
    gif_time.append(end_time-start_time)
    print("finished:", str(i))

  • 這就比較迷
    • 不過問題不大

到此這篇關(guān)于Python利用PIL實(shí)現(xiàn)多張圖片合成gif動(dòng)畫的案例詳解的文章就介紹到這了,更多相關(guān)Python PIL合成gif動(dòng)圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

诸暨市| 阳东县| 绍兴县| 临西县| 汕尾市| 甘肃省| 舟曲县| 马关县| 丹巴县| 大厂| 汽车| 农安县| 民勤县| 五华县| 五台县| 鄢陵县| 大竹县| 新民市| 桓台县| 桐梓县| 化德县| 东至县| 西和县| 如皋市| 宁明县| 封开县| 刚察县| 博爱县| 宁海县| 福清市| 诸城市| 芦溪县| 望都县| 普兰县| 新龙县| 济阳县| 商水县| 五家渠市| 济源市| 板桥市| 洛隆县|