opencv学习日记——图像的保存
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
void AlphaMat(Mat &mat)
{
for(int i = 0; i < mat.rows; ++i)
{
for(int j = 0; j < mat.cols; ++j)
{
Vec4b &bgra = mat.at<Vec4b>(i, j);
bgra[0] = UCHAR_MAX;
bgra[1] = saturate_cast<uchar>((float(mat.cols - j)) / ((float)mat.cols) * UCHAR_MAX);
bgra[2] = saturate_cast<uchar>((float(mat.rows - j)) / ((float)mat.rows) * UCHAR_MAX);
bgra[3] = saturate_cast<uchar>(0.5 * (bgra[1] + bgra[2]));
}
}
}
int main(int agrc, char** agrv)
{
Mat mat(480, 640, CV_8UC4);
AlphaMat(mat);
vector<int> compression_params;
compression_params.push_back(1);
compression_params.push_back(90);
bool result = imwrite("cat.jpeg", mat, compression_params);
if(!result)
{
cout << "保存失败" << endl;
return -1;
}
cout << "保存成功" << endl;
return 0;
}