1. JPG格式(有损压缩)
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, const std::vector<int>& params = std::vector<int>());
imwrite参数说明:
通过第三个参数const std::vector<int>
来控制JPG格式保存图片的质量:0-100,参数默认为95,图片质量和数值正比。
使用说明:
#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
Mat image = imread("src.jpg");
vector<int> jpg_compression_params;
jpg_compression_params.push_back(CV_IMWRITE_JPEG_QUALITY); //选择jpeg格式
jpg_compression_params.push_back(100); //保存图片的质量
imwrite("dst.jpg", image, jpg_compression_params);
return 0;
}
2. PNG格式(无损压缩)
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, const std::vector<int>& params = std::vector<int>());
imwrite参数说明:
通过第三个参数const std::vector<int>
来控制PNG格式保存图片压缩比:0-9,参数默认为3,图片质量和数值反比。
使用说明:
#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
Mat image = imread("src.jpg");
vector<int> png_compression_params;
png_compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION); //选择png格式
png_compression_params.push_back(8); //保存图片的质量
return 0;
}
3. BMP(无损)