前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手机图片瘦身小脚本 Mobile Photo Slim Project - wuuconix's blog

手机图片瘦身小脚本 Mobile Photo Slim Project - wuuconix's blog

作者头像
wuuconix
发布2023-03-16 16:00:48
8070
发布2023-03-16 16:00:48
举报
文章被收录于专栏:wuuconix

介绍

作者用的手机是Redmi K20 Pro。去年11月份之前一直用着小米云盘的黄金会员,容量50GB。后来就不用了,原因是我的图片总容量超过了50GB,升级到更高级的会员200GB空间大概每年需要300块,作为一个穷学生可承受不起,后来我的图片备份方案是上传到阿里云盘。

小米云盘很坑,但是它有一个功能非常好,就是进行图片瘦身。高清图片保留在云端,本地只留下压缩后的图。而小米官方的瘦身非常给力,原图和瘦身图几乎看不出差别。

我非常喜欢图片瘦身的功能,可惜在我不用黄金会员之后就不能再使用这个功能了。自去年11月以来,图片的总占用空间已经逼近10GB。

我便想手动撸一个瘦身脚本。

如何实现的?

利用Python的Pillow库,它Image.save函数将默认给图片进行压缩,压缩后的容量大概是原容量的1/5

在用save函数的时候,我们需要注意一个点,默认的保存不会保存原图的exif信息,exif信息记录着我们的拍摄时间、拍摄地点等信息,而exif的拍摄时间正是小米手机相册的排序方式。我们在保存的时候注意得保存exif信息。

这个脚本的具体流程大概如下。

  1. adb shell ls 获取相册下的所有图片名 放到 files.txt 文件中
  2. 你需要手动选择 files.txt 中哪些文件需要被压缩
  3. adb pull 命令把文件拉到电脑上
  4. Pillow库压缩,程序会把容量大于2MB的图片进行压缩。
  5. adb shell rm 删除手机上的原图
  6. adb push 命令把压缩后的文件放回手机
  7. adb am broadcast 发送广播,让系统相册刷新

我在实践过程中发现直接adb push一个文件到相册目录下,系统的相册无法识别到这个文件,后来查到相关资料,我们需要手动发送一个广播刷新MediaStore,才能让相册刷新,这也是第七步存在的原因。

使用方法

  1. 推荐在使用之前先把原图备份,比如备份到阿里云盘。因为此项目会直接替换原图为瘦身图,会删除原图。
  2. 确保你的手机连接到电脑并开启usb调试
  3. 克隆此项目,进入文件夹。
  4. 执行adb shell ls /storage/emulated/0/DCIM/Camera > files.txt命令
  5. files.txt 中手动选择哪些你需要压缩的图片们,请务必删除掉mp4等视频文件。 推荐在 files.txt 里填入少量文件先尝试一下脚本效果。如果一切顺利,请添加你需要压缩的所有图片。
  6. 由于files.txt是由cmd命令行重定向生成的,文件编码格式比较神秘,你需要在vscode中通过编码保存为utf-8格式。 或者你可以把files.txt你已经选择好的文件名复制到 记事本 中,然后保存为一份新的 files.txt 。然后在替换本项目中的神秘格式的旧files.txt
  7. 执行 pip3 install -r requirements.txt 安装Pillow库依赖
  8. 执行python3 ./slim.py 即可开启瘦身之旅。

运行截图

效果演示视频

手机图片容量变化

从瘦身之前的9.17GB变成了瘦身后的 3.81GB,总共节省出了 5.35GB

这还只是4个月的图片。一年就可以节省出 15GB的空间。

Github链接

wuuconix/Mobile-Photo-Slim: 手机图片瘦身 (github.com)

来个Star吧2333

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年3月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 如何实现的?
  • 使用方法
  • 运行截图
  • 效果演示视频
  • 手机图片容量变化
  • Github链接
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档