January 2018
Intermediate to advanced
486 pages
11h 28m
English
The imwrite function in OpenCV can be used to write images into files on disk. It uses the extension of the filename to decide the format of the image. To customize the compression rate and similar settings in an imwrite function, you need to use ImwriteFlags, ImwritePNGFlags, and so on. Here's a simple example demonstrating how to write an image into a JPG file with a progressive mode set on and a relatively low quality (higher compression rate):
std::vector<int> params;
params.push_back(IMWRITE_JPEG_QUALITY);
params.push_back(20);
params.push_back(IMWRITE_JPEG_PROGRESSIVE);
params.push_back(1); // 1 = true, 0 = false
imwrite("c:/dev/output.jpg", image, params);
You can omit the params altogether if you want ...