您当前的位置:首页 > 新闻中心 > 综合新闻

如何用Python智能批量压缩图片

时间:2017-12-22 11:06:02  

  猜猜哪张图片更大?

  小松鼠这张图片,尺寸低于2M。猫咪那张,却有2.9M,不符合微信公众平台的要求。

  我们下面要用Python自行判断这些图片中,哪些超过了2M,需要进行压缩。

  然后,对超过2M的图片,按照原先的宽高比压缩后,存储到一个指定的文件夹里面去。

  环境

  我们使用Python集成运行环境Anaconda。

  请到这个网址下载最新版的Anaconda。下拉页面,找到下载位置。根据你目前使用的系统,网站会自动推荐给你适合的版本下载。我使用的是macOS,下载文件格式为pkg。

  下载页面区左侧是Python3.6版,右侧是2.7版。请选择2.7版本。

  双击下载后的pkg文件,根据中文提示一步步安装即可。

  安装好Anaconda后,我们还需要确保安装几个必要的软件包。

  请到你的“终端”(Linux,macOS)或者“命令提示符”(Windows)下面,进入咱们刚刚下载解压后的样例目录。

  执行以下命令:

  pipinstall-UPIL

  pipinstall-Uglob

  安装完毕后,执行:

  jupyternotebook

  这样就进入到了Jupyter笔记本环境。我们新建一个Python2笔记本。

  这样就出现了一个空白笔记本。

  点击左上角笔记本名称,修改为有意义的笔记本名“demo-python-resize-image”。

  准备工作完毕,下面我们就可以用Python读入并处理图像文件了。

  代码

  我们首先读入几个后面将用到的软件包。

  fromglobimportglob

  fromPILimportImage

  importos

  然后,我们指定图片来源目录。因为图片存储在了样例目录的子目录image下面,所以只需要指定为"image"就好了。

  source_dir='image'

  下面我们设置压缩后图片的输出目录。这里为了对比清晰,我们将其设定为output,也是样例目录的子目录。注意此时这个目录还不存在。我们后面会做处理。

  target_dir='output'

  下面,是关键环节之一。我们须要遍历image目录,找出全部的图片名称。

  这里我们用到的,是glob软件包。其中的glob函数可以在我们指定的目录里,寻找所有符合要求的文件。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门