c#向c++(opencv)实现base64图像数据传递和编解码
【代码】c#向c++(opencv)实现base64图像数据传递和编解码。
·
c#代码:
[DllImport("ocr_cpu_ov.dll", CallingConvention = CallingConvention.Cdecl)]
extern static int det_base64(string in_pixels64);
Bitmap bmp = new Bitmap(@imagePath);
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); // 注意这里的图片类型
byte[] arr = ms.ToArray(); // 使用ToArray()来简化代码
string base64Str = Convert.ToBase64String(arr);
rst = infer_base64(base64Str);
c++代码:
extern "C" OCRDLL_API int det_base64(const char* in_pixels64);
OCRDLL_API int infer_base64(const char* in_pixels64) {
try {
std::string imagebase64(in_pixels64);
std::string decodedImage = base64_decode(imagebase64);
std::vector<uchar> data(decodedImage.begin(), decodedImage.end());
cv::Mat img = cv::imdecode(data, cv::IMREAD_COLOR);
}
catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)