广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python实现图片压缩
  • 152
分享到

如何使用Python实现图片压缩

2023-06-26 06:06:45 152人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下如何使用python实现图片压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、引言我们先来看一下,自拍照原图。图片大小是 53KB接下来,就

小编给大家分享一下如何使用python实现图片压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    1、引言

    我们先来看一下,自拍照原图。

    如何使用Python实现图片压缩

    图片大小是 53KB

    如何使用Python实现图片压缩

    接下来,就是展示真正技术的时候了。

    2、PIL模块

    2.1 quality 方式

    1.1 普通图片压缩

    我们使用PIL模块的 quality方法来进行压缩

    代码展示:

    # -*- coding: utf-8 -*-# @ auth : carl_DJ# @ time : 2022-01-12from PIL import Image#读取img文件img_file = './pico.jpg'im = Image.open(img_file)#quality 是设置压缩比im.save('pico-ouo.jpg',quality = 20)

    运行结果

    如何使用Python实现图片压缩

    嗯,结果还是比较满意的。

    即满足的小屌丝不想换图片的要求,

    又满足了小屌丝图片被压缩后不失真的要求。

    1.2 超大图片压缩

    我们看看超大的图片,能不能被压缩。

    这里我们就用小屌丝的女神照片来进行压缩。

    原图 120M,

    如何使用Python实现图片压缩

    我们看看压缩后能有多少M

    运行代码

    # -*- coding: utf-8 -*-# @ auth : carl_DJ# @ time : 2022-01-12from PIL import Image,ImageFile#防止图片超过178956970 pixels 而报错ImageFile.LOAD_TRUNCATED_IMAGES = TrueImage.MAX_IMAGE_PIXELS = None#读取img文件img_file = './king-letter.jpg'im = Image.open(img_file)#quality 是设置压缩比im.save('king-letter-ouo.jpg',quality = 20)

    运行结果,我们看看图片大小

    如何使用Python实现图片压缩

    完美。

    我们在打开图片看看

    如何使用Python实现图片压缩

    完美 二连击。

    因为我们使用的图片120M,超过了178956970 pixels

    所以,我们需要使用imageFile的两个方法,限制因超大而报错:

    ImageFile.LOAD_TRUNCATED_IMAGES = TrueImage.MAX_IMAGE_PIXELS = None

    如果不限制,报错信息:

    PIL.Image.DecompressionBombError: Image size (206621200 pixels) exceeds limit of 178956970 pixels, could be decompression bomb DOS attack.

    2.2 thumbnail方式

    掌握了quality方式,

    我们再用PIL的 thumbnail方式进行图片压缩

    我们同样使用超大图片。

    这次用唐三的女神照片。

    代码展示

    # -*- coding: utf-8 -*-# @ auth : carl_DJ# @ time : 2022-01-12from PIL import Image,ImageFile#防止图片超过178956970 pixels 而报错ImageFile.LOAD_TRUNCATED_IMAGES = TrueImage.MAX_IMAGE_PIXELS = None#读取img文件img_file = './king-letter.jpg'im = Image.open(img_file)#获取原尺寸图片大小w,h = im.size#图片进行50%的压缩im.thumbnail  = ((w // 2, h // 2))#保存im.save('king-letter-oua.jpg')

    运行结果

    如何使用Python实现图片压缩

    我们可以看到,thumbnail方式 虽然把图片压缩到50%,但是图片的大小并不会小太多。

    3、OpenCV模块

    除了PIL模块,还有OpenCV模块也可以压缩图片

    3.1 安装

    opencv模块需要安装

    老规矩,直接pip安装:

    pip install opencv-Python

    其他方式安装:

    python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》

    《Python3:我低调的只用一行代码,就导入Python所有库!!》

    3.2 执行代码

    # -*- coding: utf-8 -*-# @ auth : carl_DJ# @ time : 2022-01-12from cv2 import cv2imgs = cv2.imread('./king.jpg')#图片缩放至原图的1/4resize_img = cv2.resize(imgs, (0, 0), fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)#重写图片并保存cv2.imwrite('king-ouv.jpg', resize_img)

    运行结果

    如何使用Python实现图片压缩

    原图

    如何使用Python实现图片压缩

    压缩后图片

    如何使用Python实现图片压缩

    以上是“如何使用Python实现图片压缩”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

    --结束END--

    本文标题: 如何使用Python实现图片压缩

    本文链接: https://www.lsjlt.com/news/307043.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 如何使用Python实现图片压缩
      小编给大家分享一下如何使用Python实现图片压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、引言我们先来看一下,自拍照原图。图片大小是 53KB接下来,就...
      99+
      2023-06-26
    • python实现图片批量压缩
      目录第一种 一:安装包二:导入包三:获取图片文件的大小四:输出文件夹下的文件五:压缩文件到指定大小,我期望的是150KB,step和quality可以修改到最合适的数值六:...
      99+
      2022-11-12
    • Canvas如何实现图片压缩
      这篇文章主要介绍Canvas如何实现图片压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Canvas图片压缩流程接下来我将以具体实例为大家讲解Canvas图片压缩的具体流程。一、本...
      99+
      2022-10-19
    • 如何使用Node.js压缩图片
      这篇文章主要讲解了“如何使用Node.js压缩图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Node.js压缩图片”吧!一、内容简介前段时间开发...
      99+
      2022-10-19
    • python怎么实现图片批量压缩
      这篇文章主要介绍python怎么实现图片批量压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮...
      99+
      2023-06-14
    • 教你用Python压缩图片
      质量、速度、廉价,选择其中两个 如果需要做图片识别那么必定需要大量的训练素材,我们通常使用爬虫来获取,python爬取bing图片,python爬取百度图片,但是怕取下来的图片大小不一,再进行训练之前必须进行裁剪和压缩,今天就来讲一讲...
      99+
      2023-01-31
      教你用 图片 Python
    • Java如何实现压缩图片大小
      本篇内容主要讲解“Java如何实现压缩图片大小”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现压缩图片大小”吧!使用场景:当使用图片上传功能时,上传图片太大,造成对服务器资源过多的...
      99+
      2023-06-30
    • Vue使用canvas实现图片压缩上传
      本文实例为大家分享了Vue使用canvas实现图片压缩上传的具体代码,供大家参考,具体内容如下 场景:如用户头像等 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大...
      99+
      2022-11-12
    • Python实现图片压缩的案例详解
      目录1、引言2、PIL模块2.1 quality 方式2.2 thumbnail方式3、OpenCV模块3.1 安装3.2 执行代码4、总结1、引言 小屌丝:鱼哥,求助,求助 小鱼:...
      99+
      2022-11-12
    • 如何利用canvas实现图片压缩功能
      小编给大家分享一下如何利用canvas实现图片压缩功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目中做身份证识别时,需要传送图片的 base64 格式编码,...
      99+
      2023-06-09
    • Java实现压缩图片大小
      本文实例为大家分享了Java实现压缩图片大小的具体代码,供大家参考,具体内容如下 使用场景: 1.当使用图片上传功能时,上传图片太大,造成对服务器资源过多的占用2.客户端上传图片尺寸...
      99+
      2022-11-13
    • php实现图片压缩功能
      简述: 使用php的GD库可以将图片按固定宽高或者等比例压缩,主要利用的函数是: imagecopyresampled:将一张图片中的一块区域复制到另一张图片上 等比例压缩   public function compressImg($sr...
      99+
      2023-08-31
      php 开发语言
    • Android实现图片压缩(bitmap的六种压缩方式)
      Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式: 图片长度 x 图片宽度 x...
      99+
      2022-06-06
      压缩 图片 bitmap 图片压缩 Android
    • Linux下如何使用jpegoptim压缩图片
      小编给大家分享一下Linux下如何使用jpegoptim压缩图片,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!jpegoptim 是一个用来优化 JPEG 文件的工具,提供无损的优化(基于哈夫曼表),同时也可设置质量因子实...
      99+
      2023-06-27
    • 如何使用Node进行图片压缩
      这篇文章主要介绍“如何使用Node进行图片压缩”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用Node进行图片压缩”文章能帮助大家解决问题。我们先把图片上传到后端,看看后端接收了什么样的参数。...
      99+
      2023-07-05
    • 如何使用批处理实现css和js图片压缩
      这篇文章主要介绍如何使用批处理实现css和js图片压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码如下:@echo off ::设置YUI Compressor启动目录 ...
      99+
      2023-06-08
    • python利用Guetzli批量压缩图片
      Google 又开源了,这次开源了一款图像算法工具 Guetzli。Guetzli,在瑞士德语中是“cookie(曲奇)”的意思,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPE...
      99+
      2022-06-04
      批量 图片 python
    • element前端如何实现压缩图片功能
      这篇文章主要讲解了“element前端如何实现压缩图片功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“element前端如何实现压缩图片功能”吧!实现效果如下图所示,从 580kb -&g...
      99+
      2023-07-05
    • JS如何实现异步上传压缩图片
      小编给大家分享一下JS如何实现异步上传压缩图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先看调用页面:<!doctyp...
      99+
      2022-10-19
    • 怎么使用canvas压缩图片
      今天就跟大家聊聊有关怎么使用canvas压缩图片,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先要先获取到图片文件var eleFile = docu...
      99+
      2023-06-09
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作