According to the documentation, the IMWRITE_JPEG_LUMA_QUALITY parameter is supported.
IMWRITE_JPEG_LUMA_QUALITY Separate luma quality level, 0 - 100, default is 0 - don’t use.
But I realized that when I set it to default 0 (don’t use), it still has an impact on the image. This is unexpected, if it’s set to 0, it shouldn’t have any impact on the image compression.
Reference: OpenCV: Image file reading and writing
This is from the source code:
if( params[i] == CV_IMWRITE_JPEG_LUMA_QUALITY )
{
if (params[i+1] >= 0)
{
luma_quality = MIN(MAX(params[i+1], 0), 100);
quality = luma_quality;
if (chroma_quality < 0)
{
chroma_quality = luma_quality;
}
}
}