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;
}
相关推荐
aramae1 小时前
C++ IO流完全指南:从C标准库到C++流式编程
服务器·c语言·开发语言·c++·后端
_wyt0011 小时前
c++里的族谱:树
c++·
@三十一Y2 小时前
C++:AVL树实现
c++
haolin123.3 小时前
类和对象(上)
开发语言·c++
ShineWinsu3 小时前
对于Linux:传输层协议UDP原理的解析
linux·c++·面试·udp·协议·传输层·计算机系统
LingzhiPi3 小时前
零知派ESP32--AS5600磁吸旋钮音量控制器
c++·单片机·嵌入式硬件
小保CPP3 小时前
OpenCV C++车型识别1-图像预处理
c++·人工智能·opencv·计算机视觉
库克克3 小时前
【C++】C++11 包装器function 与 绑定器 bind
开发语言·c++
小小龙学IT4 小时前
C++ Placement New 与显式析构:手动对象生命周期管理的艺术
c++·windows·mfc
小保CPP4 小时前
OpenCV C++车型识别2-形状匹配
c++·人工智能·opencv·计算机视觉