生活随笔
收集整理的这篇文章主要介绍了
python生成gif【简明教程】
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
简述
网上看到动图,觉得蛮有意思的。特别是,有时候人工智能想要展现模型的动态进化的效果。就需要这样的工具了。(要是有别的目的也是ok的)
这种方法是可以将一些图片组合起来生成gif图。
- 我之前写的这篇文章就实现了这个。
- 基于MNIST的GANs实现【Pytorch】
文章目录
核心代码
import os
import shutil
import imageio
PNGFILE
= './png/'
if not os
.path
.exists
(PNGFILE
):os
.mkdir
(PNGFILE
)
else:shutil
.rmtree
(PNGFILE
)os
.mkdir
(PNGFILE
)
- 如果要不删掉文件夹,就把注释掉shutil.rmtree的代码
generated_images
= []
for png_path
in filePath
:generated_images
.append
(imageio
.imread
(png_path
))
shutil
.rmtree
(PNGFILE
)
imageio
.mimsave
('gan-mnist.gif', generated_images
, 'GIF', duration
=0.1)
- duration = 0.1 这个是设置每幅图停留的时间的
实例
- path 输入的是文件夹地址(文件夹内有图片)
- img_type:图片类似(png,jpg)但是都要小写
- sort = ‘n’ 表示,根据图片的文件名中的数字大小排序
- 当然也可以用自己定义的排序函数(rexp)
import imageio
import os
import glob
import re
def images2gif(input_path
, output_name
, img_type
='png', duration
=0.2, sort
='n', rexp
=None):input_files
= os
.path
.join
(input_path
, "*.%s" % img_type
)file_list
= glob
.glob
(input_files
)if rexp
:file_list
= sorted(file_list
, key
=rexp
)elif sort
in ['number', 'num', 'n']:file_list
= sorted(file_list
, key
=lambda x
: int(re
.search
("[0-9]+", x
).group
()))generated_images
= []for name
in file_list
:generated_images
.append
(imageio
.imread
(name
))imageio
.mimsave
(output_name
, generated_images
, 'GIF', duration
=duration
)if __name__
== '__main__':path
= '.'f
= lambda x
: int(re
.search
("[0-9]+", x
).group
())images2gif
(input_path
=path
, output_name
='test.gif', rexp
=f
)
总结
以上是生活随笔为你收集整理的python生成gif【简明教程】的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。