c#向c++(opencv)实现base64图像数据传递和编解码

c#代码:

csharp 复制代码
[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++代码:

cpp 复制代码
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;
}
相关推荐
殳翰8 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
落寞的星星9 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
青瓦梦滋9 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
聪慧的水蜜桃12 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·c#
山登绝顶我为峰 3(^v^)313 小时前
C/C++ 交叉编译方法
java·c语言·c++
韭菜钟14 小时前
利用OpenCV进行3d相机手眼标定(眼在手上/眼在手外)
opencv·3d
郝学胜-神的一滴16 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
hixiong12318 小时前
TensorRT转换工具分享
人工智能·计算机视觉·ai·c#
小小龙学IT18 小时前
C++ 并发编程深度解析:从内存模型到无锁数据结构
数据结构·c++