您的位置:首页 > 编程语言 > Python开发

Python代码实现将png格式图片批量转换为jpg个格式

2019-03-15 10:52 639 查看

Python代码实现将png格式图片批量转换为jpg个格式

问题由来:

最近在做行人检测相关的项目,需要用opencv处理数据集,选用的是INNRIA数据集,但是opencv打开png格式的图片总是报错,故需要将图片转换为jpg格式。

代码实现:

import os
from PIL import Image

dirname_read="png格式文件夹路径/"   //注意后面的斜杠
dirname_write="jpg格式输出路径/"
names=os.listdir(dirname_read)
count=0
for name in names:
img=Image.open(dirname_read+name)
name=name.split(".")
if name[-1] == "png":
name[-1] = "jpg"
name = str.join(".", name)
r,g,b,a=img.split()
img=Image.merge("RGB",(r,g,b))to_save_path = dirname_write + name
img.save(to_save_path)
count+=1
print(to_save_path, "------conut:",count)
else:
continue

可能遇到的问题:

有些png格式的图片是四通道(多了aphla通道),jpg格式是三通道,故需要将png图片的rgb通道提取出来再进行转换。 有些情况下不是必须的。把这两行代码注释掉即可。

代码:
r,g,b,a=img.split()
img=Image.merge("RGB",(r,g,b))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: