Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 在opencv中保存tiff文件时,是否有方法设置特定的压缩方案?_Image Processing_Opencv_Compression_Tiff - Fatal编程技术网

Image processing 在opencv中保存tiff文件时,是否有方法设置特定的压缩方案?

Image processing 在opencv中保存tiff文件时,是否有方法设置特定的压缩方案?,image-processing,opencv,compression,tiff,Image Processing,Opencv,Compression,Tiff,我正在使用opencv裁剪tif文件,除了将图像保存到文件之外,一切都很好-opencv始终使用LZW压缩,但我不需要对生成的文件进行压缩,我非常感谢opencv在节省磁盘驱动器空间方面的帮助,但现在不是这样做的时候那么,有没有一种方法可以使用特定的压缩方案(包括不压缩)或不压缩来保存tif文件原始图像没有应用压缩方案,我正在使用ROI选择区域并保存图像以将其保存到目标文件。感谢您的帮助 TIFF压缩级别是硬编码的,不能在运行时更改。如果您在计算机上编译OpenCV,则可以编辑此文件中的压缩级别



我正在使用opencv裁剪tif文件,除了将图像保存到文件之外,一切都很好-opencv始终使用LZW压缩,但我不需要对生成的文件进行压缩,我非常感谢opencv在节省磁盘驱动器空间方面的帮助,但现在不是这样做的时候
那么,有没有一种方法可以使用特定的压缩方案(包括不压缩)或不压缩来保存tif文件

原始图像没有应用压缩方案,我正在使用ROI选择区域并保存图像以将其保存到目标文件。感谢您的帮助

TIFF压缩级别是硬编码的,不能在运行时更改。如果您在计算机上编译OpenCV,则可以编辑此文件中的压缩级别

3rdparty/libtiff/tiff.h
您将发现这一行:

#define     COMPRESSION_LZW     5       /* Lempel-Ziv  & Welch */
希望有帮助

编辑:请参见opencv代码中的这一行:
您应该能够为TIFFTAG\u压缩传递所需的值,包括COMPRESSION\u NONE。

在OpenCV 3中,您可以提供一个参数向量来更改压缩或每条带的线条,如:

vector<int> params = { 
    259, 1,     // No compression, turn off default LZW
    279, 64     // Rows per strip 
};
imwrite("image.tiff", myImage, params);
向量参数={
259,1,//无压缩,关闭默认LZW
279,64//每条带的行数
};
imwrite(“image.tiff”,myImage,params);

Meh,这不太好,我会在一两天后查看,我现在没有机会下载源代码,所以需要一些时间。谢谢@fireant,你知道在OpenCV源代码中,硬编码的压缩方法应该在哪里更改吗?您提到的
3rdparty/libtiff/tiff.h
是libtiff本身的一部分,包含各种压缩方法的定义,包括
\define compression\u CCITT\u T6 4/*CCITT.6(tiff 6 name)*/
。所以实际上,我们需要找到这些定义在OpenCV中的硬编码位置。@alexander abakumov我更新了答案,看看这是否是您想要的。@fireant,谢谢!这与我几小时前更改的行完全相同:)不幸的是,保存CCITTG4 tiff图像不起作用。可能是因为Mat至少是一个8位矩阵。