如何使用 OpenCV 和 Python 进行简单的图像压缩

大多数免费图像压缩器都有文件大小要求,使用 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 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论