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

 更新时间:2019年08月07日 18:13:54   作者:Liam_Fang_  
今天小编就为大家分享一篇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飞机大战pygame碰撞检测实现方法分析

    python飞机大战pygame碰撞检测实现方法分析

    这篇文章主要介绍了python飞机大战pygame碰撞检测实现方法,结合实例形式分析了Python使用pygame实现飞机大战游戏中碰撞检测的原理与相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • Python hashlib加密模块常用方法解析

    Python hashlib加密模块常用方法解析

    这篇文章主要介绍了Python hashlib加密模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python的Django框架中模板碎片缓存简介

    Python的Django框架中模板碎片缓存简介

    这篇文章主要介绍了Python的Django框架中模板碎片缓存,包括给cache标签传递参数等方法,需要的朋友可以参考下
    2015-07-07
  • Python3用2行代码生成动态二维码详解

    Python3用2行代码生成动态二维码详解

    这篇文章主要介绍了两行Python代码制作动态二维码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • django实现用户注册实例讲解

    django实现用户注册实例讲解

    在本篇文章里小编给大家整理的是关于django用户注册的相关实例内容,有兴趣的朋友们学习下。
    2019-10-10
  • Python3 维护有序列表bisect的使用

    Python3 维护有序列表bisect的使用

    Python3中的bisect模块提供了一种高效的方式来在有序列表中进行二分查找和插入操作,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • PyQt5多线程防卡死和多窗口用法的实现

    PyQt5多线程防卡死和多窗口用法的实现

    这篇文章主要介绍了PyQt5多线程防卡死和多窗口用法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python实现的爬虫功能代码

    Python实现的爬虫功能代码

    这篇文章主要介绍了Python实现的爬虫功能,涉及Python使用urllib2、BeautifulSoup模块实现网页源码的获取、解析等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Python logging日志模块使用指南

    Python logging日志模块使用指南

    Python 的 logging 模块提供了标准的日志接口,可以通过它存储各种格式的日志,日志记录提供了一组便利功能,用于简单的日志记录用法,本文就给大家简单的介绍一下Python logging日志模块使用方法,需要的朋友可以参考下
    2023-08-08
  • C语言中的结构体在Python中实现转换

    C语言中的结构体在Python中实现转换

    这篇文章主要为大家介绍了C语言中的结构体在Python中实现转换示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论