用opencv C++完成了一個影象壓縮的例程
阿新 • • 發佈:2019-02-04
這裡用的是openCV3.4.1和VS2017版本,引用了一個opencv的庫函式。具體看下面的程式碼把。
#include <iostream>
using namespace std;
#include "cv.h"
#include "opencv2\opencv.hpp"
using namespace cv;
#if _DEBUG
#pragma comment(lib,"opencv_world341d.lib")
#else
#pragma comment(lib,"opencv_world341.lib")
#endif
int main()
{
Mat src = imread("D:/tupian/zelong11.jpg" );
if (src.data != NULL)
{
vector<int>compression_params;
compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
compression_params.push_back(80); //影象壓縮引數,該引數取值範圍為0-100,數值越高,影象質量越高
bool bRet = imwrite("D:/tupian/zelong4.jpg", src, compression_params);
if (bRet)
{
cout << "影象儲存成功" << endl;
}
else
{
cout << "影象儲存失敗" << endl;
}
}
else
{
cout << "圖片載入失敗,請檢查檔案是否存在!" << endl;
}
waitKey(0);
getchar();
return 0;
}
下面是實現效果
壓縮後