首页 > 编程 > Python > 正文

python实现对图片进行旋转,放缩,裁剪的功能

2019-11-25 12:04:30
字体:
来源:转载
供稿:网友

先说明下,我这是对某个目录下的图片名称进行操作,该目录下的图片名称为1.jpg,2.jpg。。。。。这样类似的图片名。

1.旋转

# -*-coding:utf-8-*-from PIL import Imagedef 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 Imagedef 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 Imagedef 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实现对图片进行旋转,放缩,裁剪的功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表