[Programación de Python] Conversión por lotes de imágenes en formatos ppm y pgm a imágenes en formato png o jpg

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:
inserte la descripción de la imagen aquí

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)

Supongo que te gusta

Origin blog.csdn.net/lingchen1906/article/details/131425686
Recomendado
Clasificación