图像处理小技巧-gif转jpg
深度学习图像处理...图像处理小技巧-gif转jpg深度学习前言一、介绍二、使用python实现2.1 导入库2.2 全部程序总结前言基于olivettifaces数据集github地址一、介绍我们从网上下载olivettifaces图片但是这是一张gif图片,所以我们需要将其转为jpg二、使用python实现2.1 导入库首先我们从PIL中需要导Image库这里我们需要知道的是:PIL(Pyth
·
深度学习
图像处理 ...前言
基于olivettifaces数据集一、介绍
我们从网上下载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帧上。
总结
期待大家和我交流,留言或者私信,一起学习,一起进步!
更多推荐
已为社区贡献22条内容
所有评论(0)