先说明下,我这是对某个目录下的图片名称进行操作,该目录下的图片名称为1.jpg,2.jpg。。。。。这样类似的图片名。
1.旋转
# -*-coding:utf-8-*- from PIL import Image def rotateimg(inputimg,outimg): im = Image.open(inputimg) # 图片的宽度和高度 img_size = im.size print("图片宽度和高度分别是{}".format(img_size)) # 旋转图片 # 左旋转90度 im = im.rotate(90) print("图片宽度和高度分别是{}".format(im.size)) im.save(outimg) if __name__ == "__main__": # inputpath = "D:/test/tmp/shuibiao/" outpath = "D:/test/tmp/img/" for i in range(1,24): tmpin = inputpath+str(i)+'.jpg' tmpout = outpath+str(i)+'.jpg' rotateimg(tmpin, tmpout) print('成功旋转第'+str(i)+'张图片')
2.放缩
# -*-coding:utf-8-*- from PIL import Image def resizeimg(inputimg,outimg): img1 = Image.open(inputimg) out=img1.resize((260, 180),Image.ANTIALIAS) print("图片宽度和高度分别是{}".format(out.size)) out.save(outimg) if __name__ == "__main__": # inputpath = "D:/test/tmp/img/" outpath = "D:/test/tmp/img_1/" for i in range(1, 24): tmpin = inputpath + str(i) + '.jpg' tmpout = outpath + str(i) + '.jpg' resizeimg(tmpin, tmpout) print('成功放缩第' + str(i) + '张图片')
3.裁剪
# -*-coding:utf-8-*- from PIL import Image def cropimg(inputimg,outimg): im = Image.open(inputimg) # 图片的宽度和高度 img_size = im.size print("图片宽度和高度分别是{}".format(img_size)) ''' 裁剪:传入一个元组作为参数 元组里的元素分别是:(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h) ''' # 截取图片中一块宽和高都是250的 x = 0 y = 60 w = 260 h = 60 region = im.crop((x, y, x + w, y + h)) region.save(outimg) if __name__ == "__main__": inputpath = "D:/test/tmp/img_1/" outpath = "D:/test/tmp/img_2/" for i in range(1, 24): tmpin = inputpath + str(i) + '.jpg' tmpout = outpath + str(i) + '.jpg' cropimg(tmpin, tmpout) print('成功裁剪第' + str(i) + '张图片')
以上这篇python实现对图片进行旋转,放缩,裁剪的功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。