方法

网上的都是按照固定的图像大小来进行压缩,本文给出按照比例来压缩的方法——智能压缩:

from PIL import Imageinfile = 'cxq1.jpg'
outfile = 'cxq2.jpg'
im = Image.open(infile)
(x,y) = im.size #read image size
x_s = 1000 #define standard width
y_s = int(y * x_s / x) #calc height based on standard width
out = im.resize((x_s,y_s)) #resize image with high-quality
out.save(outfile)print('original size: ',x,y)
print('adjust size: ',x_s,y_s)

例子

  • 比如输入原图像尺寸:
    original size: 2185 3008

  • 最终输出的尺寸:
    adjust size: 1000 1376

【数字图像处理】Python使用PIL库压缩图片大小——按比例压缩相关推荐

  1. 通过Python的PIL库给图片添加马赛克

    文章目录 前言 一.Pillow是什么? 二.安装PIL库 三.查看PIL库版本 四.使用方法 1.引入库 2.定义图片路径 3.打开需要打马赛克的图片 4.获取图片尺寸 5.创建一个新的图片对象 6 ...

  2. 通过Python的PIL库给图片添加图片水印

    文章目录 前言 一.素材准备 1.原图 2.水印图 二.使用PIL库给图片添加图片水印 1.引入库 2.定义图片路径 3.打开原图 4.打开水印图片 5.计算水印图片大小 6.计算原图大小 7.调整水 ...

  3. python自带的PIL库扩展图片大小给图片加上文字描述

    利用python自带的PIL库扩展图片大小给图片加上文字描述.大多都是库函数调用,只是给定图片宽度后计算文字所需行数的代码需要写. 代码比较丑,but it works. #!/usr/bin/env ...

  4. python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...

    前言 最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限.可利用的字体类型比较少,需要安装Freetype扩展,比较复杂.而且不能用putText函 ...

  5. python 用PIL库缩放图片并保存

    python 用PIL库缩放图片并保存 PIL库安装 pip install pillow 单个图片缩放 from PIL import Imageimagepath = r'.\img\number ...

  6. pil库修改图片大小_Gvcode库:一个更简单的、华人开源的、自动生成验证码的python库...

    1 说明: ===== 1.1 gvcode全称:graphic-verification-code. 1.2 基本介绍,一秒搞懂. 1.3 并对源码进行修改一个小bug,教您如何修改源码,解决bug ...

  7. pil库修改图片大小_python 利用PIL库进行更改图片大小的操作

    python 是可以利用PIL库进行更改图片大小的操作的,当然一般情况下是不需要的,但是在一些特殊的利用场合,是需要改变图片的灰度或是大小等的操作的,其实用python更改图片的大小还是蛮简单的,只需 ...

  8. java上传并压缩图片(等比例压缩或者原尺寸压缩)

    先看效果: 原图:1.33M 处理后:27.4kb 关键代码; package codeGenerate.util;import java.awt.Color; import java.awt.Gra ...

  9. 安卓中两种压缩图片详解(比例压缩与质量压缩)

    在提图片压缩之前,我先总结下图片的三种常见格式:JPEG,JPG,PNG Jpeg格式   与jpg格式相似,经常在拷相片的时候看到得,但我们制作图片的时候一般是保存jpg,该种图片格式是文件相对jp ...

最新文章

  1. C++学习点滴(多次调用同一个类)
  2. CentOS下MongoDB的升级
  3. Maven构建Artifact时,不会创建空目录
  4. python编辑器spyder运行_使用spyder编译器单步调试python
  5. 【CodeForces - 438D】The Child and Sequence(线段树区间取模操作)
  6. TQ210——下载总结
  7. Objective-C文件流操作
  8. python并发编程5-线程
  9. 使用PyTorch来进展不平衡数据集的图像分类
  10. linux修改控制台分辨率,linux控制台分辨率
  11. mvc三层架构_Java架构-代码分层的设计之道
  12. 网页防篡改技术_大数据让档案“活”起来:用区块链技术防篡改,用量子加密技术防盗窃...
  13. 2005年1月8日——最伤心的一天
  14. oracle 39083,oracle数据库导入导出时ORA-39083;ORA-00439错误解决思路
  15. 体验火热的Python抢票神器,先让你50个加速包
  16. 主键中的mappdeBy的使用方法
  17. ARC120F-Wine Thief(非F2)——序列化环
  18. linux开机卡在usb,UUI v1.9.7.3 轻松制作 Linux 版 USB 开机随身碟、记忆卡(Universal USB Installer)...
  19. Android 实现企业微信自动打卡任务同时支持钉钉急速打卡模式
  20. CMD下添加IP地址,删除IP地址

热门文章

  1. 亚马逊注册后,将账户改为个人账户的方法
  2. c语言和python区别,python和c语言的区别是什么
  3. 模仿天猫数据的一些语句分析
  4. Rocket核心流程源码分析
  5. 想成为牛逼网页设计师吗?
  6. HDU-5514-Frogs
  7. 基于豆瓣影评数据的完整文本分析
  8. Redis 初解缓存
  9. Qt编写可视化大屏电子看板系统14-标准曲线图
  10. C++中类(class)和结构(struct)的区别