如何在 OpenCV c++ 中压缩 TIFF 格式的图像?

How compress an image with TIFF format in OpenCV c++?

本文关键字:格式 TIFF 图像 压缩 OpenCV c++      更新时间:2023-10-16

我对图像进行一些过滤,然后我想通过带有TIFF格式的imwrite命令保存它,但尺寸很大。与JPEG格式一样,可以将图像压缩到较小的尺寸。我如何以TIFF格式进行操作。(我正在使用OpenCV C++(。

从 v3.4.6 开始,cv::ImwriteFlags包括IMWRITE_TIFF_COMPRESSION(见 https://docs.opencv.org/3.4.6/d4/da8/group__imgcodecs.html(。

opencv-python==4.5.5.62,我成功地使用了

import cv2
cv2.imwrite(filename, array, params=(cv2.IMWRITE_TIFF_COMPRESSION, 1))      # None
cv2.imwrite(filename, array, params=(cv2.IMWRITE_TIFF_COMPRESSION, 5))      # LZW
cv2.imwrite(filename, array, params=(cv2.IMWRITE_TIFF_COMPRESSION, 8))      # Adobe Deflate
cv2.imwrite(filename, array, params=(cv2.IMWRITE_TIFF_COMPRESSION, 32946))  # Deflate

另请参阅 https://www.awaresystems.be/imaging/tiff/tifftags/compression.html