处理文件夹中全部图片

def gray_for_images(path):
    all_image_type = ["jfif","bmp","jpg","png","tif","gif","pcx","tga","exif","fpx","svg","psd","cdr","pcd","dxf","ufo","eps","ai","raw","WMF","webp"]
    for path,dir_name, file_name_list in os.walk(path):
        for file_name in file_name_list:
            if isinstance(file_name, str):
                image_name = file_name.split('.')[0]
                suffiex = file_name.split('.')[-1]
                if suffiex in all_image_type:
                    # 图片的转换
                    image_path = os.path.join(path, file_name)
                    
                    try:
                        # 图片读取
                        image = plt.imread(image_path)
                    except Exception as e:
                        print(e, "读取文件失败")

                    # 判断图像是否是彩色照片
                    if image.ndim > 2:
                        new_image_data = image.mean(axis=2)
                        new_image_name = image_name + '_gray.' + suffiex
                        new_image_path = os.path.join(path, new_image_name)
                        plt.imsave(new_image_path, new_image_data)
                        print(image_path,"处理成功")
                    else:
                        print(image_path,"不是彩色照片,无需处理")
                else:
                    print(file_name,"不是一张图像")
            else:
                print(file_name, "图片路径有问题")
gray_for_images('images/')

在这里插入图片描述

发布了58 篇原创文章 · 获赞 0 · 访问量 480

猜你喜欢

转载自blog.csdn.net/qq_41170489/article/details/104010198