任务要求:
客户端把图片转成opencv的mat类型,封装进json,发给服务端,服务收到后解析json,再把mat把存成图片;用C++实现
解决方案:
发送和接收就不写了,这里只展示下如何封装以及如何解析。
用到的头文件:1.nlohmann::json的json.hpp;2.csdn上找的用于base64编码的base64.h
1)读取并封装
json j;
Mat image = imread("D:\\4.jpg"); //存放自己图像的路径
//imshow("显示图像", image);
std::vector<unsigned char> data_encode;
int res = imencode(".jpg", image, data_encode);
std::string str_encode(data_encode.begin(), data_encode.end());
const char* c = str_encode.c_str();
j["mat"] = base64_encode(c, str_encode.size());
代码是参考(c++ opencv imencode imdecode string转换)自己的改动尝试出来,这里有个疑问&#