OpenCV中不同格式图片的保存

来源:互联网 发布:电话聊天软件 编辑:程序博客网 时间:2024/05/18 05:49

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(无损)

原创粉丝点击