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中用于返回绝对值的abs()方法
May 14 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
Python编写登陆接口的方法
Jul 10 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 Python
python动态文本进度条的实例代码
Jan 22 Python
python连接PostgreSQL过程解析
Feb 09 Python
Python Json数据文件操作原理解析
May 09 Python
jenkins+python自动化测试持续集成教程
May 12 Python
带你学习Python如何实现回归树模型
Jul 16 Python
Python生成器generator原理及用法解析
Jul 20 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教程孙仲岳主讲
2008/01/07 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
php页面缓存方法小结
2015/01/10 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
浅谈MySQL中的触发器
2015/05/05 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
应届大学生求职的自我评价
2013/11/17 职场文书
升职自荐书范文
2013/11/28 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
公司门卫岗位职责
2014/03/15 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis