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;
}
相关推荐
qq_310658513 分钟前
webrtc代码走读(六)-QOS-FEC冗余度配置
网络·c++·webrtc
新手村领路人18 分钟前
python opencv gpu加速 cmake msvc cuda编译问题和设置
开发语言·python·opencv
dengzhenyue43 分钟前
C# 初级编程
开发语言·c#
Aevget1 小时前
从复杂到高效:QtitanNavigation助力金融系统界面优化升级
c++·qt·金融·界面控件·ui开发
jf加菲猫1 小时前
条款20:对于类似std::shared_ptr但有可能空悬的指针使用std::weak_ptr
开发语言·c++
jf加菲猫2 小时前
条款21:优先选用std::make_unique、std::make_shared,而非直接new
开发语言·c++
scx201310042 小时前
20251019状压DP总结
c++
TechNomad2 小时前
十七、OpenCV中HighGUI模块的介绍和使用
opencv
m0_748240253 小时前
C++ 游戏开发示例:简单的贪吃蛇游戏
开发语言·c++·游戏
Summer_Uncle3 小时前
【C++学习】指针
c++·学习