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


Posted in Python onAugust 07, 2019

先说明下,我这是对某个目录下的图片名称进行操作,该目录下的图片名称为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双向链表实现实例代码
Nov 21 Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
python实现class对象转换成json/字典的方法
Mar 11 Python
深入理解python对json的操作总结
Jan 05 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
python如何建立全零数组
Jul 19 Python
Python anaconda安装库命令详解
Oct 16 Python
Django 实现前端图片压缩功能的方法
Aug 07 #Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 #Python
python 直接赋值和copy的区别详解
Aug 07 #Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 #Python
python的常见矩阵运算(小结)
Aug 07 #Python
python字典的setdefault的巧妙用法
Aug 07 #Python
解决Django中调用keras的模型出现的问题
Aug 07 #Python
You might like
用PHP函数解决SQL injection
2006/10/09 PHP
PHP中的类型约束介绍
2015/05/11 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
python实现复制文件到指定目录
2019/10/16 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
人事行政主管岗位职责
2013/12/22 职场文书
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
大学生求职自我评价
2014/01/16 职场文书
综合实践活动方案
2014/02/14 职场文书
家长写给孩子的评语
2014/04/18 职场文书
师德承诺书
2015/01/20 职场文书
电影红河谷观后感
2015/06/11 职场文书
小学运动会通讯稿
2015/07/18 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
编写python程序的90条建议
2021/04/14 Python
利用javaScript处理常用事件详解
2021/04/14 Javascript