保存的webp图像在OpenCV中比jpg大3倍



由于某些原因,在我的Ubuntu 20.04机器上,当我在Python中使用OpenCV时,如:

cv2.imwrite("myfile.webp", cv2image)

在我的代码中,800x600px的文件大约有300kib,而如果我这样做:

cv2.imwrite("myfile.jpg", cv2image)

相同像素大小的输出文件大约有100kib。

为什么webp的大小应该比jpg小25% ?

还是我必须先设置一些选项?

注:png:

cv2.imwrite("myfile.png", cv2image)

尺寸约为500kib。

Webp有两种保存数据的形式。有损(JPEG所做的)信息丢失以减少数据,而无损(png所做的)没有数据丢失。

默认情况下opencv使用它的cv2。IMWRITE_WEBP_QUALITY来确定质量。如果设置为100,则表示没有压缩(无损)

https://docs.opencv.org/master/d8/d6a/group__imgcodecs__flags.html gga292d81be8d76901bff7988d18d2b42aca7d3f848cc45d3138de0a2053d213a54a

解决!它应该像这样工作:

cv2.imwrite("myfile.webp", cv2image, [int(cv2.IMWRITE_WEBP_QUALITY), 20])

现在,文件有4kb;D

最新更新