图像处理小技巧-gif转jpg

深度学习

图像处理 ...

前言

基于olivettifaces数据集

github地址


一、介绍

我们从网上下载olivettifaces图片但是这是一张gif图片,所以我们需要将其转为jpg

二、使用python实现

2.1 导入库

首先我们从PIL中需要导Image库
这里我们需要知道的是:
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3。

from PIL import Image

2.2 全部程序

首先我们使用Image读取名字为:olivettifaces的gif文件
再使用convert()函数将图像转为RGB,具体是为了将图片通道数归为3通道
再将图片逐帧保存,最终转换为jpg

from PIL import Image
im = Image.open('F:\\olivettifaces.gif')
im = im.convert('RGB')
def iter_frames(im):
    try:
        i= 0
        while 1:
            im.seek(i)
            imframe = im.copy()
            if i == 0:
                palette = imframe.getpalette()
            else:
                imframe.putpalette(palette)
            yield imframe
            i += 1
    except EOFError:
        pass
for i, frame in enumerate(iter_frames(im)):
    frame.save('image.jpg',**frame.info)

其中im.seek():是在给定的文件序列中查找指定的帧。如果查找超越了序列的末尾,则产生一个EOFError异常。当文件序列被打开时,PIL库自动指定到第0帧上。

总结

期待大家和我交流,留言或者私信,一起学习,一起进步!

猜你喜欢

转载自blog.csdn.net/CltCj/article/details/118468512