Python 图片尺寸缩放的4种方式
微信公众号" 程序猿刘先森", 共同学习~
https://darylliu.github.io/archives/9c4cfe08.html
最近由于网站对图片尺寸的需要,用python写了个小脚本,方便进行图片尺寸的一些调整,特记录如下:
# coding=utf-8
import Image
import shutil
import osclass Graphics:infile = 'D:\\myimg.jpg'outfile = 'D:\\adjust_img.jpg'@classmethoddef fixed_size(cls, width, height):"""按照固定尺寸处理图片"""im = Image.open(cls.infile)out = im.resize((width, height),Image.ANTIALIAS)out.save(cls.outfile)@classmethoddef resize_by_width(cls, w_divide_h):"""按照宽度进行所需比例缩放"""im = Image.open(cls.infile)(x, y) = im.size x_s = xy_s = x/w_divide_hout = im.resize((x_s, y_s), Image.ANTIALIAS) out.save(cls.outfile)@classmethoddef resize_by_height(cls, w_divide_h):"""按照高度进行所需比例缩放"""im = Image.open(cls.infile)(x, y) = im.size x_s = y*w_divide_hy_s = yout = im.resize((x_s, y_s), Image.ANTIALIAS) out.save(cls.outfile)@classmethoddef resize_by_size(cls, size):"""按照生成图片文件大小进行处理(单位KB)"""size *= 1024im = Image.open(cls.infile)size_tmp = os.path.getsize(cls.infile)q = 100while size_tmp > size and q > 0:print qout = im.resize(im.size, Image.ANTIALIAS)out.save(cls.outfile, quality=q)size_tmp = os.path.getsize(cls.outfile)q -= 5if q == 100:shutil.copy(cls.infile, cls.outfile)@classmethoddef cut_by_ratio(cls, width, height):"""按照图片长宽比进行分割"""im = Image.open(cls.infile)width = float(width)height = float(height)(x, y) = im.sizeif width > height:region = (0, int((y-(y * (height / width)))/2), x, int((y+(y * (height / width)))/2))elif width < height:region = (int((x-(x * (width / height)))/2), 0, int((x+(x * (width / height)))/2), y)else:region = (0, 0, x, y)#裁切图片crop_img = im.crop(region)#保存裁切后的图片crop_img.save(cls.outfile)
http://www.darylliu.cn/archives/9c4cfe08.html
微信公众号" 程序猿刘先森", 共同学习进化~
Python 图片尺寸缩放的4种方式相关推荐
- 《OpenCV3编程入门》学习笔记6 图像处理(六)图像金字塔与图片尺寸缩放
6.6 图像金字塔与图片尺寸缩放 6.6.1 图像金字塔 1.图像金字塔是图像中多尺度表达的一种,主要用于图像分割,是一种以多分辨率解释图像的结构,通过梯次向下采样获得分辨率逐步降低的图象集合 2.分 ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放...
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- Python实现微信支付(三种方式)
Python实现微信支付(三种方式) 微信.支付宝二维码聚合SDK下载 点我下载 关注公众号"轻松学编程"了解更多. 如果需要python SDk源码,可以加我微信[1257309 ...
- python代码的注释只有一种方式、那就是使用_尔雅学习通APP2020年细胞的奥秘答案查题公众号...
[填空题]饱和水蒸气通过间壁加热空气,间壁温度接近于 的温度. [判断题]Python代码的注释只有一种方式,那就是使用 # . A. 正确 B. 错误 [单选题]胚胎最易受病毒感染而造成胎儿发育畸形 ...
- Python识别网站验证码的几种方式
Python识别网站验证码的几种方式 1.云打码平台(已完结) 优势:现成的平台,只需要调用即可,成功率较高. 劣势:需要一点软妹币. 这是最简单的运用,国内常用的打码平台有: 云打码(http:// ...
- python代码的注释只有一种方式、那就是使用_[多选] 《建立世贸组织协定》附件4包括的诸边贸易协议有()....
Python代码的注释只有一种方式,那就是使用#符号 [填空题]Some young people like pop music, while still others like music. 以能源 ...
- python使用什么作为转义字符-详解用Python处理HTML转义字符的5种方式
写爬虫是一个发送请求,提取数据,清洗数据,存储数据的过程.在这个过程中,不同的数据源返回的数据格式各不相同,有 JSON 格式,有 XML 文档,不过大部分还是 HTML 文档,HTML 经常会混杂有 ...
- Python调用API接口的几种方式
本文主要介绍python中调用API的几种方式,下面是python中会用到的库. 1.urllib2 import urllib2, urllib github_url = 'https://api. ...
最新文章
- 职业操盘手内部教材 z
- java 张龙_张龙 JAVA5新特性学习笔记
- php图形图像,php图形图像处理
- 思科查看服务器启动配置文件,启动配置检查UCS
- 前端学习(557):css与百分比单位
- Unable to delete directory: D:\Downloads\githubdownfive\tianxmyapp\library\
- python中协程与函数的区别_python 协程与go协程的区别
- JAVA程序员从菜鸟到菜鸟
- 中国开源视频编辑软件行业市场供需与战略研究报告
- hadoop的学习之一
- phpMyAdmin创建数据库无权限解决方案
- 哔哩哔哩---P2 WPF基础入门视频(布局)
- Win10将中文用户名修改为英文
- 解决OneNote无法联网
- 震惊!让90%的程序员一看就会的入门级AI项目!
- 使用msi2lmp和materials studio导出复杂结构的data文件的报错:Unable to find bond data for XXX,Unable to find oop data
- 使用opencv将16位深度图转灰度图
- opencv实现视频实时去雾算法
- ECCV2020视频插帧方法
- java 手电筒 电池_android 手电筒的实现