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 文件与目录操作
Dec 24 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
Python实现两款计算器功能示例
Dec 19 Python
python cs架构实现简单文件传输
Mar 20 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
python剪切视频与合并视频的实现
Mar 03 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
python上下文管理的使用场景实例讲解
Mar 03 Python
如何利用Python实现一个论文降重工具
Jul 09 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
功能强大的php分页函数
2016/07/20 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
javascript history对象详解
2017/02/09 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
Java程序员面试题
2013/07/15 面试题
城市精细化管理实施方案
2014/03/04 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
社区食品安全实施方案
2014/03/28 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
承兑汇票延期证明
2015/06/23 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript