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/')