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

yipeiwu_com7年前Python基础

先说明下,我这是对某个目录下的图片名称进行操作,该目录下的图片名称为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实现对图片进行旋转,放缩,裁剪的功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python益智游戏计算汉诺塔问题示例

汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大...

Pandas之ReIndex重新索引的实现

约定: import pandas as pd import numpy as np ReIndex重新索引 reindex()是pandas对象的一个重要方法,其作用是创建一...

Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例

Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例

1. 引言 在某些场景下,我们不仅需要进行实时人脸检测追踪,还要进行再加工;这里进行摄像头实时人脸检测,并对于实时检测的人脸进行初步提取; 单个/多个人脸检测,并依次在摄像头窗口,实时平...

python pandas 对时间序列文件处理的实例

如下所示: import pandas as pd from numpy import * import matplotlib.pylab as plt import copy d...

python导入坐标点的具体操作

python导入坐标点的具体操作

小编今天教你们python怎么导入坐标点,解决你在生活中遇到的小问题。 首先下载安装python,打开文本编辑器,将文件保存成 py格式,如果python目录不在usr/bin目录下,则...