LEADTOOLS Raster Imaging C++ Class Library Help > LEADTOOLS Raster Imaging Features > Image Compression > Compression Quality Factors |
The quality factor (Q factor) is a number that determines the degree of loss in the compression process when saving an image to a one of the following file formats that supports Q factor:
JPEG (FILE_JPEG, FILE_JPEG_411, and FILE_JPEG_422) formats: You can set a value from 2 to 255, where 2 is the highest quality and 255 is the most compression. You can also use a factor of 0 to produce lossless JPEG files.
JTIF (FILE_TIF_JPEG, FILE_TIF_JPEG_411, FILE_TIF_JPEG_422) formats: You can set a value from 2 to 255, where 2 is the highest quality and 255 is the most compression. You can also use a factor of 0 to produce lossless JTIF files.
NOTE: 4:1:1 and 4:2:2 formats use subsampling for the color components. In the case of 4:1:1, the color components for 4 pixels is averaged during compression. This will cause a color shift, but the shift is tolerable for low compression ratios. If you have high compression and repeated savings, then the color shift will increase. Due to this characteristic of the JPEG algorithm, the only ways to avoid this are to: (a) use 4:4:4 (which has no subsampling), or (b) avoid repeated load and resave.
LEAD CMP (FILE_CMP and FILE_CMW) formats: (8-bit, 12-bit and 24-bit only) You can set a value from 2 to 255, where 2 is the highest quality and 255 is the most compression.
You can also use one of the following enhanced options:
Q Factor |
Predefined options for LEAD only |
PQ1 |
(-1) Perfect quality 1 This option compresses all colors of a 24-bit file and maintains the quality of the original image at a smaller file size. As the name suggests, there is no visual loss of color at this setting. |
PQ2 |
(-2) Perfect quality 2 This will produce a smaller file size than PQ1 while maintaining similar quality. |
QFS |
(-3) Quality far more important than size This option removes colors not noticed by the human eye. Most viewers cannot tell the difference between an image compressed at this level and the original image. |
QMS |
(-4) Quality more important than size While more colors are removed, most of them are colors or shades that are close to one another. The compressed image will appear very much like the original image. It will take some study to see the difference. |
QS |
(-5) Quality and size equally important This option provides the highest compression while maintaining good image quality. Try this option first, then move up or down the list accordingly to obtain acceptable compression size and image quality. |
SQS |
(-6) Size more important that quality (sharp) This option is recommended for images that have sharp edges. For example, an image that has a text overlay or an image with many straight lines. While it creates a larger file than the next option, it retains better edges. |
SQT |
(-7) Size more important than quality (less tiling) This option produces less tiling in the image than the previous options. However, it may distort text or straight lines. It is a good option for image database applications. |
MCQ |
(-8) Maximum compression keeping quality This option provides maximum compression while maintaining as high as possible image quality. |
MC |
(-9) Maximum compression This option gives maximum compression. It is equivalent to a Q factor of 255. |
PNG (FILE_PNG) format: The QFactor can be a value between 0 and 9. 0 = (default compression), 1 (fastest compression) ... 9 (highest compression ratio)
MNG (FILE_MNG_JNG_411 and FILE_MNG_JNG_422) format: The QFactor can be a value between 2 and 255.
JP2 (FILE_JP2) and J2K (FILE_J2K) formats: The QFactor can be a value between ©1 and 255. ©1, and 0 represent lossless compression, while all the values between 1 and 255 are considered as compression ratios. For example a qFactor of 10 is a compression ratio of 10. A qFactor of 1 gives the best lossy quality, while a qFactor of 255 gives the highest compression. If the compression control used by the toolkit when saving J2K files is J2K_COMPRESSION_QFACTOR, then the compression used is based on the Qfactor passed to the SaveXXX function. For more information about setting the options for saving J2K files, refer to the FILEJ2KOPTIONS structure, LFileSettings::GetJ2KOptions, or LFileSettings::SetJ2KOptions.
JPEGLS (FILE_JLS, FILE_JLS_LINE, and FILE_JLS_SAMPLE) formats: The QFactor can be a value between 2 and 255 (lossy compression), or value 0 (lossless compression).
JPEG-XR (FILE_JXR, FILE_JXR_GRAY, and FILE_JXR_CMYK) formats: The QFactor can be a value between 2 and 255 (lossy compression), or value 0 (lossless compression).
FlashPix (FILE_FPX_JPEG_QFACTOR and FILE_FPX_JPEG) formats: The QFactor can be a value between 2 and 255, where 2 is the highest quality and 255 is the most compression.
EXIF (FILE_EXIF_JPEG, FILE_EXIF_JPEG_422, FILE_EXIF_JPEG_411) formats: The QFactor can be a value between 2 and 255, where 2 is the highest quality and 255 is the most compression.
LEAD ABC (FILE_ABC and FILE_TIF_ABC) formats: The QFactor can be one of the following values:
Q Factor |
Predefined options for LEAD only |
ABCQ_LOSSLESS |
[0] Lossless compression. This option compresses a 1-bit file and maintains image data unchanged. Highest quality. |
ABCQ_VIRTUALLOSSLESS |
[1] Lossy compression. This option removes the image's noisy pixels and compresses it to a smaller file size than ABCQ_LOSSLESS. |
ABCQ_REMOVEBORDER |
[2] Lossy compression. This option removes the image's border, if it exists, and compresses it to a smaller file size than ABCQ_ VIRTUALLOSSLESS. |
ABCQ_ENHANCE |
[3] Lossy compression. This option cleans up the image, removes its border if it exists, and compresses it to a smaller file size than ABCQ_REMOVEBORDER. |
ABCQ_MODIFIED1 |
[4] Lossy compression. This option cleans up the image, removes its border if it exists, and compresses it to a smaller file size than ABCQ_ENHANCE. However, it may distort text or straight lines. |
ABCQ_MODIFIED1_FAST |
[5] Same as ABCQ_MODIFIED1 without the border remove or image clean processes. |
ABCQ_MODIFIED2 |
[6] Lossy compression. This option cleans up the image, removes its border if it exists, and compresses it to a smaller file size than ABCQ_MODIFIED1. However, it may distort text or straight lines. Maximum compression. |
ABCQ_MODIFIED2_FAST |
[7] Same as ABCQ_MODIFIED2 without the border remove or image clean processes. |
ABCQ_MODIFIED3 |
[8] Lossy compression. Provides faster encode and decode speed than ABCQ_MODIFIED1 or ABCQ_MODIFIED2. Provides the maximum compression. |
ABCQ_MODIFIED3_FAST |
[9] Same as ABCQ_MODIFIED3 without the border remove or image clean processes. |
ABCQ_LOSSLESS_FAST |
[10] Faster lossless compression than ABCQ_LOSSLESS. This option compresses a 1-bit file and maintains image data unchanged. Highest quality. Does not produce compression ratios as high as ABCQ_LOSSLESS. |
ABCQ_LOSSY_FAST |
[11] Lossy compression. This is the fastest ABC lossy compression option. Does not produce compression ratios as high as the other lossy options. |