【python】将图片格式转换为RGB格式

刚刚跑transformer,修改代码后还总是报错,是因为数据集里面不全是RGB格式的图片,用cv2的函数时没有解决问题,最后直接convert一下,解决了问题。具体的转换代码如下:

import os
from PIL import Image
from tqdm import tqdm
import numpy as np
 
img_path = '' #填入图片所在文件夹的路径
img_Topath = '' #填入图片转换后的文件夹路径
 
for item in tqdm(img_path):
    arr=item.strip().split('*')
    img_name=arr[0]
    image_path=os.path.join(img_path,img_name)
    img=Image.open(image_path)
    if(img.mode!='RGB'):        
        img = img.convert("RGB")
        img=np.array(img)
        print(img_name)
        print(img.shape)
        img.save(img_Topath +'/'+img_name,img)

友友们反应代码跑的过程会报错,可能原因:

1、图片路径设置不正确
2、代码读图片时出错,可以将代码:image_path=os.path.join(img_path,img_name)
   修改为:image_path=[os.path.join(img_path,img_name) for img_name in os.listdir(img_path) ] 
   这样对读入的图片进行约束

其中,tqdm模块是一个进度条配置,首次使用需先安装,

pip install tqdm
    原文作者:不起名就没有名吗
    原文地址: https://blog.csdn.net/weixin_50952710/article/details/121800448
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞