使用Tensorflow的VGG16模型训练图片,发现只支持3通道的图片,由于PNG是4通道(RGBA),因此需要将PNG转换成JPG(RGB)格式。
from PIL import Image
import os
def png_to_jpg(input_file, output_file):
"""
Convert a PNG image to RGB format.
Args:
input_file (str): 输入是PNG
output_file (str): 输出是JPG.
Returns:
None
"""
image = Image.open(input_file)
jpg_image = image.convert('RGB')
jpg_image.save(output_file)
print(f"Converted {input_file} to {output_file}")
return
"""
Usage:
python png_to_jpg.py input.png output.jpg
"""
if __name__ == "__main__":
# 单个文件的操作
# input_file = "input.png"
# output_file = "output.jpg"
# png_to_jpg(input_file, output_file)
# 遍历文件夹操作
data_dir = r"C:\Users\xxx\Desktop\pics"
for root, dirs, files in os.walk(data_dir):
for filename in files:
if filename.endswith(".png"):
input_file = os.path.join(root, filename)
output_file = os.path.join(root, filename.replace(".png", ".jpg"))
png_to_jpg(input_file, output_file)
print("Conversion complete.")