大多数免费图像压缩器都有文件大小要求,使用 python 和 opencv 创建自己的图像压缩器就没有这个烦恼了。在这篇文章中,将展示我是如何做到的,希望它能帮助遇到同样问题的任何人。
配置环境
首先需要创建并激活虚拟环境,这可以通过以下命令完成:
python3 -m venv env
source env/bin/activate
编写代码
接下来打开一个名为“requirements.txt”的文件并插入以下内容:
opencv-python
安装要求,请使用以下命令:
pip install -r requirements.txt
接下来打开一个名为“main.py”的文件,首先需要一些包,代码如下:
import cv2
import os
import argparse
接下来将创建一个简单的函数来显示文件的文件大小(以 MB 为单位):
def show_file_size(file):
file_size = os.path.getsize(file)
file_size_mb = round(file_size / 1024, 2)
print("File size is now " + str(file_size_mb) + "MB")
只需几行即可显示文件的文件大小,没有什么太复杂的。
最后我们需要创建一个主函数:
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required = True, help = "Path to input file")
ap.add_argument("-c", "--compression", required = True, help = "Compression level")
args = vars(ap.parse_args())
image = cv2.imread(args["image"])
cv2.imwrite("compressed_image.jpg", image, [cv2.IMWRITE_JPEG_QUALITY, args["compression"]])
print("Image Compressed Successfully")
show_file_size("compressed_image.jpg")
这里我们使用 ArgumentParser 来解析用户的“图像”和“压缩”参数,然后使用 opencv 读取图像文件,然后使用 imwrite 函数输出压缩文件。最后,我们向用户显示新的文件大小。
完毕!只需几行代码即可进行图像压缩。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。