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))
来源:CSDN
作者:土豆家的地瓜啊
链接:https://blog.csdn.net/weixin_44500897/article/details/88568279