// GTImageCompress.cpp : 定義控制台應用程式的入口點。
//
#include "stdafx.h"
#include <iostream>
#include "opencv/cv.h"
#include "opencv2\opencv.hpp"
#if _DEBUG
#pragma comment(lib,"opencv_world349d.lib")
#else
#pragma comment(lib,"opencv_world349.lib")
#endif
int main()
{
cv::Mat src = cv::imread("28002.bmp");
if (src.data != NULL)
{
std::vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_JPEG_QUALITY);
compression_params.push_back(10); //圖像壓縮參數,該參數取值範圍為0-100,數值越高,圖像品質越高
//bool bRet = imwrite("test2.jpg", src, compression_params);
std::vector<uchar> vecResult;
clock_t start, stop;//定義clock_t類型的start和end
start = clock();
bool bRet = imencode(".bmp", src, vecResult);
stop = clock();
printf("%f\n", (double)(stop - start) / CLOCKS_PER_SEC);
if (bRet)
{
std::cout << "圖像儲存成功" << std::endl;
}
else
{
std::cout << "圖像儲存失敗" << std::endl;
}
}
else
{
std::cout << "圖檔加載失敗,請檢查檔案是否存在!" << std::endl;
}
//cv::waitKey(0);
getchar();
return 0;
}
參考
- Opencv學習筆記(三) -- 圖像壓縮與儲存