使用python 把图片都处理为600*800像素的大小,去除单通道或者无效图片,统一使?

使用python 把图片都处理为600*800像素的大小,去除单通道或者无效图片,统一使用jpg格式,

可以使用Python中的Pillow库来实现对图片的处理,具体实现步骤如下:
from PIL import Image
import os

def process_image(image_path):
'''
对指定路径的图片进行处理
'''
try:
with Image.open(image_path) as img:
# 剔除单通道或无效图片
if img.mode == 'L' or img.mode == 'P' or img.mode == 'RGBA' or img.mode == 'CMYK':
raise Exception('invalid image')
# 更改图片格式
img = img.convert('RGB')
# 调整图片大小
img = img.resize((600, 800), Image.BICUBIC)
img.save(image_path[:-3] + 'jpg')
print('Processed: {}'.format(image_path))
except Exception as e:
# 处理操作中出现的异常
print('Error processing {}: {}'.format(image_path, e))
os.remove(image_path)

def process_images_in_folder(folder_path):
'''
对指定文件夹中的所有图片进行处理
'''
for root, dirs, files in os.walk(folder_path):
for filename in files:
# 只处理.jpg和.jpeg格式的图片
if filename.endswith('.jpg') or filename.endswith('.jpeg'):
image_path = os.path.join(root, filename)
process_image(image_path)

process_images_in_folder('/path/to/folder/')

上述代码可以实现对指定文件夹中所有.jpg和.jpeg格式的图片进行处理,具体处理操作包括剔除单通道或无效图片、更改图片格式、调整图片大小、统一使用600 * 800像素大小以及只使用.jpg格式的图片。
温馨提示:答案为网友推荐,仅供参考
相似回答