|

猜猜哪张图片更大?
小松鼠这张图片,尺寸低于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函数可以在我们指定的目录里,寻找所有符合要求的文件。
2/5 首页 上一页 1 2 3 4 5 下一页 尾页 |