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;
}