import os,stat
import urllib.request
import math
import json
from PIL import Image
from PIL import ImageEnhance
import PIL.ImageOps
import matplotlib.pyplot as plt
import numpy as np
def convertImage(sourcefile,savefilepath):
#读入图片
img = Image.open(sourcefile)
# 'D:/1.png')
image= img.convert('RGBA')
if image.mode == 'RGBA':
r,g,b,a = image.split()
rgb_image = Image.merge('RGB', (r,g,b))
#反色处理
inverted_image = PIL.ImageOps.invert(rgb_image)
r2,g2,b2 = inverted_image.split()
final_transparent_image = Image.merge('RGBA', (r2,g2,b2,a))
# ImageEnhanced1 = ImageEnhance.Brightness(final_transparent_image).enhance(1)#获得亮度加强器实例
ImageEnhanced2 = ImageEnhance.Brightness(final_transparent_image).enhance(1)
# ImageEnhanced3 = ImageEnhance.Brightness(final_transparent_image).enhance(3)
if not os.path.exists(savefilepath):
#创建路径
os.makedirs(savefilepath)
ImageEnhanced2.save(os.path.join(savefilepath,os.path.basename(sourcefile)))
print("success:" + os.path.join(savefilepath,os.path.basename(sourcefile)))
#imgall=[image,final_transparent_image,ImageEnhanced]
# plt.figure("")
# plt.figure(num=1, figsize=(8,5),)
# plt.title('The image title')
# plt.axis('off') # 不显示坐标轴
# plt.subplot(321),plt.imshow(image),plt.title("321"),plt.xticks([]),plt.yticks([])
# plt.subplot(322),plt.imshow(final_transparent_image),plt.title("321"),plt.xticks([]),plt.yticks([])
# plt.subplot(323),plt.imshow(ImageEnhanced1),plt.title("321"),plt.xticks([]),plt.yticks([])
# plt.subplot(324),plt.imshow(ImageEnhanced2),plt.title("321"),plt.xticks([]),plt.yticks([])
# plt.subplot(325),plt.imshow(ImageEnhanced3),plt.title("321"),plt.xticks([]),plt.yticks([])
# plt.subplot(221)
# plt.imshow(image,final_transparent_image,ImageEnhanced)
# plt.imshow(ImageEnhanced)
# plt.show()
else:
inverted_image = PIL.ImageOps.invert(image)
inverted_image.save('.png')
def batchInit():
file="D:/sl"
for root, dirs, files in os.walk(file):
# root 表示当前正在访问的文件夹路径
# dirs 表示该文件夹下的子目录名list
# files 表示该文件夹下的文件list
for d in dirs:
# print(os.path.join(root, d))
filepath2 = os.path.join(root, d)
for root2, dirs2, files2 in os.walk(filepath2):
for d2 in dirs2:
filepath3 = os.path.join(root2, d2)
for root3, dirs3, files3 in os.walk(filepath3):
for f in files3:
# print(os.path.join(root3, f))
savefilepath = os.path.join(root3.replace("sl","sl_blue"))
convertImage(os.path.join(root3, f),savefilepath)
print("处理完毕!")