mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 15:53:03 +04:00
Merge pull request #19540 from asmorkalov:as/openexr_comression_options
OpenEXR compression options * Adding possibility to select the compression type for the OpenEXR format. There are compression modes other than the default that are more suited for certain data. Mainly grainy/noisy data. * Code review fixes. Co-authored-by: Daniel Rydstrom <daniel.rydstrom@sick.se>
This commit is contained in:
committed by
GitHub
parent
ca7518c13b
commit
c131c12fd7
@@ -589,7 +589,45 @@ bool ExrEncoder::write( const Mat& img, const std::vector<int>& params )
|
||||
type = FLOAT;
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error( "IMWRITE_EXR_TYPE is invalid or not supported" );
|
||||
CV_Error(Error::StsBadArg, "IMWRITE_EXR_TYPE is invalid or not supported");
|
||||
}
|
||||
}
|
||||
if ( params[i] == IMWRITE_EXR_COMPRESSION )
|
||||
{
|
||||
switch ( params[i + 1] )
|
||||
{
|
||||
case IMWRITE_EXR_COMPRESSION_NO:
|
||||
header.compression() = NO_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_RLE:
|
||||
header.compression() = RLE_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_ZIPS:
|
||||
header.compression() = ZIPS_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_ZIP:
|
||||
header.compression() = ZIP_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_PIZ:
|
||||
header.compression() = PIZ_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_PXR24:
|
||||
header.compression() = PXR24_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_B44:
|
||||
header.compression() = B44_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_B44A:
|
||||
header.compression() = B44A_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_DWAA:
|
||||
header.compression() = DWAA_COMPRESSION;
|
||||
break;
|
||||
case IMWRITE_EXR_COMPRESSION_DWAB:
|
||||
header.compression() = DWAB_COMPRESSION;
|
||||
break;
|
||||
default:
|
||||
CV_Error(Error::StsBadArg, "IMWRITE_EXR_COMPRESSION is invalid or not supported");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user