这里转换二进制是你直接从文件读取的图像二进制数据,具体代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main()
{
Mat mat = cv::imread("E:\\test.jpg");
std::vector<uchar> data_encode;
int res = imencode(".jpg", mat, data_encode);
int len = sizeof(char) * (data_encode.size());
char* data = (char*)malloc(len);
memcpy(data, data_encode.data(), sizeof(char) * (data_encode.size()));
FILE* file = fopen("res.jpg", "wb");//如果文件不存在,则创建文件
if (file == NULL) {
printf("open error\n");
}
int size = fwrite(data, len, 1, file);
printf("write size:%d\n", len);
fclose(file);
return 0;
}