说明:
百度飞桨PaddleOCR实现文字识别c++部署,其输入和输出是以整个文件夹的形式进行,如果每次仅对单张图进行推理,则每次推理前都会进行模型初始化,降低效率。而目前自己的项目需要一次初始化后连续传单张图进行推理,所以我在模型原c++部署代码中进行修改,并生成动态库方便后续其他项目自由调用。
PaddleOCR c++部署生成dll的方法是从b站up 柯学家Lv0的视频PaddleOcr打包成dll供其它程序调用_哔哩哔哩_bilibili中学到 感谢分享
ppocr.dll下载链接:【免费】百度飞桨PaddleOCRc++部署动态库文件资源-CSDN文库
在项目目录下新建models文件夹,文件夹内保存paddleocr官网的模型文件和词库文件
项目必要库文件:
库文件打包链接:PaddleOCR推理模型dllc++部署调用必要库文件资源-CSDN文库
最终release目录所需文件如下:
使用方法:直接在main.cpp中添加调用
#include <opencv2/opencv.hpp>
#include <iostream>
#include <time.h>
typedef char* (CALLBACK* FUN)(Mat);
typedef void(CALLBACK* V_FUN)(char* dir);
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("images//2.jpg");
//模型初始化
HINSTANCE hDLL;
hDLL = LoadLibrary(L"ppocr.dll");
FUN GetOcr = (FUN)GetProcAddress(hDLL, "OcrDetect");
//调用dll内部函数
char* xx = GetOcr(image);
cout << "\ntext:" << xx << endl;
}