在进行图像识别时,我们经常要将图片进行统一,这里的代码实现了将PNG图片批量转换成JPG图片。
亲测可用,注意文件夹里全是图片,如果还有其他文件,可能会报错,但是不影响转换,因为他读取图片个数多了,但那个文件不是图片
import os
from PIL import Image
dirname_read="E:/python_project/jiao_tong_biao_zhi/VOC2007/JPEGImages/" # 注意后面的斜杠
dirname_write="E:/python_project/jiao_tong_biao_zhi/VOC2007/JPEGImages/xin/"
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 = img.convert('RGB')#RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明度。而JPG不支持透明度,所以要么丢弃Alpha,要么保存为.png文件
img.save(to_save_path)
count+=1
print(to_save_path, "------conut:",count)
else:
continue