python图像文件压缩_python中如何实现图片压缩
python实现图片压缩的方法:1、导入Image包;2、使用get_size(file)命令获取图片文件的大小;3、使用【os.path.splitext()】方式拼接文件地址;然后压缩文件到指定大小;4、修改图片尺寸即可。
一、导入包from PIL import Image
import os
二、获取图片文件的大小def get_size(file):
# 获取文件大小:KB
size = os.path.getsize(file)
return size / 1024
三、拼接输出文件地址def get_outfile(infile, outfile):
if outfile:
return outfile
dir, suffix = os.path.splitext(infile)outfile = '{}-out{}'.format(dir, suffix)
return outfile
四、压缩文件到指定大小def compress_image(infile, outfile='', mb=150, step=10, quality=80):
"""不改变图片尺寸压缩到指定大小
:param infile: 压缩源文件
:param outfile: 压缩文件保存地址
:param mb: 压缩目标,KB
:param step: 每次调整的压缩比率
:param quality: 初始压缩比率
:return: 压缩文件地址,压缩文件大小
"""
o_size = get_size(infile)
if o_size <= mb:
return infile
outfile = get_outfile(infile, outfile)
while o_size > mb:
im = Image.open(infile)
im.save(outfile, quality=quality)
if quality - step
break
quality -= step
o_size = get_size(outfile)
return outfile, get_size(outfile)
五、修改图片尺寸def resize_image(infile, outfile='', x_s=1376):
"""修改图片尺寸
:param infile: 图片源文件
:param outfile: 重设尺寸文件保存地址
:param x_s: 设置的宽度
:return:
"""
im = Image.open(infile)
x, y = im.size
y_s = int(y * x_s / x)
out = im.resize((x_s, y_s), Image.ANTIALIAS)
outfile = get_outfile(infile, outfile)
out.save(outfile)
if __name__ == '__main__':
compress_image(r'D:\learn\space.jpg')
resize_image(r'D:\learn\space.jpg')推荐课程:Python进阶视频教程
python图像文件压缩_python中如何实现图片压缩相关推荐
- python朋友圈评论_利用Python实现朋友圈中的九宫格图片效果
前言 大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可. 说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使 ...
- ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能.分享给大家供大家参考,具体如下: why 拿到一个人物行走的素材,要用TexturePacker打包.TexturePacke ...
- 如何压缩jpg大小?jpg图片压缩的简单方法
我们日常的学习.工作中,经常需要收发很多jpg图片.当这些jpg图片体积过大的时候,不仅会减缓我们传输的速度,还会占用大量的电脑储存空间.那么如何将图片压缩(https://www.yasuotu.c ...
- 怎么把图片压缩100k?如果将图片压缩指定大小?
很多时候想要把图片压缩大小到固定数值,这时候用压缩图的图片压缩到指定大小(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)就非常方便,下面以图片压缩到100k以内为例子来讲解一下具体步骤. 1 ...
- python zipfile教程_Python中zipfile压缩文件模块的基本使用教程
zipfile Python 中 zipfile 模块提供了对 zip 压缩文件的一系列操作. f=zipfile.ZipFile("test.zip",mode="&q ...
- python scrapy框架 抓取的图片路径打不开图片_Python中Scrapy爬虫图片处理详解
下载图片 下载图片有两种方式,一种是通过 Requests 模块发送 get 请求下载,另一种是使用 Scrapy 的 ImagesPipeline 图片管道类,这里主要讲后者. 安装 Scrapy ...
- python模块实例化_python中zipfile模块实例化解析
文章内容由--"脚本之家"--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/ 简介: zipfile是python里用来做zip格式编码的压 ...
- python模块讲解_python中常用模块详解一
1.time 模块 import time s = time.localtime() # 把时间转化成格式化的时间,通过. 取得里面的年月日等 struct_time 格式 time.struct_t ...
- python把文件夹中所有的图片按顺序转换成视频
最近需要把文件夹中多个图片转换成视频,试了一些软件发现都不好使.刚好最近又接触了 python+opencv的相关知识,索性参考网上代码,自己写了一个.发现才十几行..果然人生苦短,我用python. ...
最新文章
- 并查集/poj1182 noi2001食物链eat
- (53)进程结构体EPROCESS,擦除 DebugPort 实现反调试,ActiveProcessLinks 断链实现进程隐藏
- 不同图像锐化算子提取的图像信息有哪些不同_传统图像处理
- html5学习笔记---05.JavaScript 中的面向对象,继承和封装
- leetcode719:直线上的第k近点对
- 什么是IEC 61508?
- php引用()详解及注意事项
- linux 系统如何启动服务,如何查看和停止Linux启动的服务
- 华为ensp命令大全_从零开始学习华为路由交换 | 配置接口IP
- c语言角度转换为弧度程序,C语言之将弧度值转换为角度值
- 计算机一级单元格填充,电脑Excel表格怎么对不连续的单元格进行批量填充
- 老人步履蹒跚,警惕骨关节炎
- 无法找到元素 ‘aop:aspectj-autoproxy‘ 的声明
- 明日之后 找不到服务器,明日之后登录服务器错误怎么办 登录服务器错误请重试解决方法...
- 如何在比赛和项目中培养一个好的探索性分析(EDA)思维 —— 翻译自kaggle一位有趣的分享者
- 计算机中十六乘十六进制怎么算,16进制的乘法怎么算
- 【WPF】CAD工程图纸转WPF可直接使用的xaml代码技巧
- 每日一课 | Python处理文件系统的10种方法
- Android AudioFocus机制小结
- MySQL之分库分表
热门文章
- ubuntu高速下载onedrive文件
- 软件测试面试题-测试基础篇
- 专科段《财务管理》课程复习资料(1)——单项选择题
- matlab计算椭圆的面积,椭圆围绕MATLAB中的数据
- jquery里用正则来验证密码,必须包含大小写字母,数字及特殊符号,或最少包含两种
- Win7下微软拼音等中文输入法默认英文标点解决办法
- 文都网校2019年计算机考研,2019考研:如何选择专业?
- eclipse不用方向键移动光标
- 0.1.3 合宙CORE-ESP32-C3开发板用arduino点亮ST7735 1.8寸TFT屏【已更新失效链接2022.07.10】
- 网卡速率、带宽、上行、下行、之间关系