prólogo
Si hay imágenes anormales en la carpeta, puede usar el siguiente código para omitir estas imágenes anormales sin afectar el funcionamiento del código de conversión. Por ejemplo, la imagen es anormal debido a una interrupción durante la descompresión. El ejemplo de la imagen es el siguiente:
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
texto
Importar la biblioteca utilizada
from PIL import Image
import os
Definir funciones de conversión de formato
def batch_convert_images(input_dir, output_dir):
for filename in os.listdir(input_dir):
if filename.endswith('.ppm') or filename.endswith('.pgm'):
img_path = os.path.join(input_dir, filename)
img = Image.open(img_path)
new_filename = os.path.splitext(filename)[0] + '.png'
save_path = os.path.join(output_dir, new_filename)
img.save(save_path)
Defina la variable de ruta para leer en la imagen y la variable para guardar la imagen después de la conversión de formato
input_dir = 'E:/系统默认/桌面/rgbd_people_unihall/rgb' # 输入图片所在目录
output_dir = 'E:/系统默认/桌面/rgbd_people_unihall/rgb1' # 输出图片所在目录
El código de conversión de formato se ejecuta
batch_convert_images(input_dir, output_dir)
código completo
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True # 这两句代码可写可不写,如果自己要转换的文件夹中的图片没有异常,可不写
from PIL import Image
import os
def batch_convert_images(input_dir, output_dir):
for filename in os.listdir(input_dir):
if filename.endswith('.ppm') or filename.endswith('.pgm'):
img_path = os.path.join(input_dir, filename)
img = Image.open(img_path)
new_filename = os.path.splitext(filename)[0] + '.png'
save_path = os.path.join(output_dir, new_filename)
img.save(save_path)
# 使用示例
input_dir = 'E:/系统默认/桌面/rgbd_people_unihall/rgb' # 输入图片所在目录
output_dir = 'E:/系统默认/桌面/rgbd_people_unihall/rgb1' # 输出图片所在目录
batch_convert_images(input_dir, output_dir)