python模块之image修改图片类型
有时候我们需要不同格式的图片后缀格式,如:png,jpg,如果仅仅手动修改图片的后缀的话,只是表面修改了后缀格式,其实图片的原类型仍然没有变化,可以用python中的imghdr模块来进行检验图片真正的格式,所以呢,我们可以使用python中PIL模块中的Image修改我们想要的文件类型。
如:
这几张图片是png格式的图片,手动修改为.jpg格式的,通过代码来判断真伪:
示例代码:
import os
import imghdr
img_list = os.listdir('./images/')
print(img_list)
for img in img_list:
print(img, end='的文件类型为:')
with open(f'./images/{img}', 'rb') as f:
print(imghdr.what(f))
运行结果:
通过程序运行结果判断,图片后缀类型是假的,接下来修改图片类型:
示例代码:
import os
import imghdr
from PIL import Image
img_list = os.listdir('./images/')
print(img_list)
# 判断图片真实格式
for img in img_list:
print(img, end='的文件类型为:')
with open(f'./images/{img}', 'rb') as f:
print(imghdr.what(f))
# 修改图片格式
for img in img_list:
im = Image.open(f'./images/{img}').convert('RGB')
im.save(f'./images/{img[:-4]}_true.jpg', 'JPEG')
# 删除之前的图片
for pic in img_list:
os.remove(f'./images/{pic}')
# 读取修改后的图片名称
img_list = os.listdir('./images/')
print(img_list)
# 判断图片真实格式
for img in img_list:
print(img, end='的文件类型为:')
with open(f'./images/{img}', 'rb') as f:
print(imghdr.what(f))
运行结果: