有幽默宽高,可以调整
还有比例,需要自己调整
from PIL import Imageimport osimport os.path# long=int(input('图片长度像素(2048,2912)\n'))# wide=int(input('图片宽度像素(2048,1632)\n'))# 2688 1792long = input("默认2688")if long :passelse:long = 2688wide = input("默认1792")if wide :passelse:wide = 1792# 1:1图比例是2048# 16:9图片比例 2912:1632# 定义文件所在文件夹image_dir = '/xxx/xxx/图片放这里双击cut'# 本文件文件名this_name = "cut.py"for parent, dir_name, file_names in os.walk(image_dir): # 遍历每一张图片file_names.remove(this_name)try:file_names.remove(".DS_Store")except:passfor filename in file_names:print(filename)pic_name = os.path.join(parent, filename)image = Image.open(pic_name)_width, _height = image.sizeprint(_width, _height)# 四张图片的坐标t1=[0,0,float(long/2),float(wide/2)]t2=[float(long/2),0,long,float(wide/2)]t3=[0,float(wide/2),float(long/2),wide]t4=[float(long/2),float(wide/2),long,wide]pic=t1+t2+t3+t4print(pic)# [0, 0, 1456.0, 816.0, 1456.0, 0, 2912, 816.0, 0, 816.0, 1456.0, 1632, 1456.0, 816.0, 2912, 1632]for p in range(int(len(pic)/4)):pp=pic[p*4:p*4+4]print(pp)# 定义裁剪范围(left, upper, right, lower)# # box = image.crop((0,0,123,123))box = image.crop((pp[0],pp[1],pp[2],pp[3]))box = box.resize((long/2, wide/2))name = filename[:-4]+'_'+str(p) +'.png'box.save('/xxx/xxx/xxx/图片放这里双击cut/%s' % name)print('Done!')