TinyPNG-kmeans 项目使用教程
1. 项目的目录结构及介绍
TinyPNG-kmeans 项目的目录结构如下:
TinyPNG-kmeans/
├── LICENSE
├── README.md
├── optipng
│ └── optipng.exe
├── ssim.py
└── tinypng.py
目录结构介绍
- LICENSE: 项目的开源许可证文件,采用 GPL-3.0 许可证。
- README.md: 项目的说明文档,包含项目的简介、使用方法、依赖安装等信息。
- optipng: 包含 OptiPNG 的可执行文件,用于优化 PNG 图像的 Deflate 压缩过程。
- ssim.py: 用于计算图像压缩前后的结构相似性 (SSIM) 值的 Python 脚本。
- tinypng.py: 项目的启动文件,用于执行 PNG 图像的压缩操作。
2. 项目的启动文件介绍
tinypng.py
tinypng.py
是 TinyPNG-kmeans 项目的启动文件,负责执行 PNG 图像的压缩操作。该脚本的主要功能包括:
- 图像读取与处理: 读取指定目录中的图像文件,并将其转换为 PNG 格式。
- K-Means 聚类: 使用 K-Means 聚类算法对图像的像素颜色进行量化,减少颜色数量,从而降低图像文件大小。
- Deflate 压缩: 调用 OptiPNG 对 PNG 图像的 Deflate 压缩过程进行优化,进一步提高压缩比。
- 输出结果: 将压缩后的图像文件保存到指定的输出目录中。
使用方法
在 tinypng.py
所在的目录下运行以下命令:
python tinypng.py <输入目录名> <输出目录名> <P>
- 输入目录名: 包含待压缩图像的目录。
- 输出目录名: 压缩后的图像文件保存的目录。
- P: 色彩数,取值范围是 P∈[2, 256],越小则压缩率越高,图像失真也越大。
例如:
python tinypng.py image image_tiny 100
该命令会将 image
目录中的所有图像文件压缩成 PNG 格式,并保存到 image_tiny
目录中,色彩数设置为 100。
3. 项目的配置文件介绍
TinyPNG-kmeans 项目没有专门的配置文件,所有的配置和参数调整都在启动文件 tinypng.py
中进行。用户可以通过调整命令行参数来控制图像压缩的质量和压缩率。
依赖安装
在使用 tinypng.py
之前,需要确保已安装以下 Python 库:
- Pillow (PIL)
- numpy
- scipy
- scikit-learn (sklearn)
可以通过以下命令安装这些库:
python -m pip install Pillow==8.4.0
python -m pip install numpy==1.20.3
python -m pip install scipy==1.8.0
python -m pip install scikit-learn==0.24.2
如果你还没有 Python,可以直接安装 Anaconda,它包含 Python 和上述库。
注意事项
- 在使用时,确保
optipng.exe
与tinypng.py
在同一个目录下。 - 对于一些本身就高度压缩的 JPG 图像,生成的 PNG 文件可能会比原始文件更大,程序会自动跳过这些文件。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考