有幽默宽高,可以调整
还有比例,需要自己调整
from PIL import Image
import os
import os.path
# long=int(input('图片长度像素(2048,2912)\n'))
# wide=int(input('图片宽度像素(2048,1632)\n'))
# 2688 1792
long = input("默认2688")
if long :
pass
else:
long = 2688
wide = input("默认1792")
if wide :
pass
else:
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:
pass
for filename in file_names:
print(filename)
pic_name = os.path.join(parent, filename)
image = Image.open(pic_name)
_width, _height = image.size
print(_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+t4
print(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!')