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中常见的异常总结
Feb 20 Python
详解django的serializer序列化model几种方法
Oct 16 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
Python 如何在字符串中插入变量
Aug 01 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
Python基于execjs运行js过程解析
Nov 27 Python
python周期任务调度工具Schedule使用详解
Nov 23 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的历史和优缺点
2006/10/09 PHP
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python如何实现动态数组
2019/11/02 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
python中元组的用法整理
2020/06/15 Python
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
超市总经理岗位职责
2014/02/02 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
幼儿园优秀班主任事迹材料
2014/05/14 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
公司员工安全协议书
2014/11/21 职场文书
工作证明书
2015/06/15 职场文书
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python