opencv imwrite()函数保存png格式的图像,默认保存方法是有损的,如果要保存无损图像则需要进行设置。
如,rgb_image是一个Mat类型的变量:
1、默认保存
cv::imwrite("test.png", rgb_image);
2、无损保存
std::vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(0); // 无压缩png.
compression_params.push_back(cv::IMWRITE_PNG_STRATEGY);
compression_params.push_back(cv::IMWRITE_PNG_STRATEGY_DEFAULT);
cv::imwrite("test.png", rgb_image, compression_params);