c++ - 如何在 C++ 中将 Tesseract-OCR 与 OpenCV 集成
问题描述
错误信息
我对 tesseract、matlab 和 opencv 都很陌生。我正在尝试将 tesseract-ocr 与我的 c++ 程序集成以检测我找到的车牌。但是 c++ 给我带来了错误。我需要帮助将我的 MAT 图像加载到 tesseract 以识别其中的字符。
这是车牌图像,它是一个 MAT 变量
我已经对系统属性进行了必要的更改,例如将 tesseract 包含文件包括到项目中。并包括 liblept168.lib liblept168d.lib libtesseract302.lib 到额外的依赖和所有。
imshow("Plate", plate);
imshow("Blob", Blob);
int threshold = otsn(plate);
Mat plateequal = EHistogram(plate);
Mat converttob = converttobinary(plate,threshold);
imshow("Plate This", plateequal);
//变量“plate”保存我想要tesseract处理的车牌图像
tesseract::TessBaseAPI tess;
cv::Mat sub = plate;
tess.SetImage((uchar*)sub.data, sub.size().width, sub.size().height, sub.channels(), sub.step1());
tess.Recognize(0);
const char* out = tess.GetUTF8Text();
“错误 13 错误 LNK2001:无法解析的外部符号“公共:void __cdecl tesseract::TessBaseAPI::SetImage(unsigned char const *,int,int,int,int)”(?SetImage@TessBaseAPI@tesseract@@QEAAXPEBEHHHH@Z) C :\Users\Sahilan Mahendran\Documents\Visual Studio 2013\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj ConsoleApplication1"
这是我在运行程序时收到的错误消息之一。
解决方案
未解析的外部符号意味着编译器/链接器可以找到函数的声明,但找不到它的定义。好像您忘记将 cpp 文件添加到您的项目中一样。
推荐阅读
- sql - 使用WORD中的书签值进行sql查询
- angular - 仅获取点击 ID 的 JSON 数据
- powershell - PowerShell 任务计划程序作业无法启动。附加数据:错误值:2147944187
- spring-data-rest - 使用 querydsl 和 spring 数据搜索 A 或 B 的位置
- sqlite - 我需要检索最后一个数据行单个数据
- python - 在 python 代码中更改“所有”seaborn 图的大小
- pytorch - 如何在不安装 pytorch 的情况下使用 pytorch 预训练模型?
- java - 在 Java 8 比较器中添加 Optional.isPresent()
- jquery - 使用ajax从vue组件解析数据
- php - 多个计数和求和 MySQL 函数在 MySQL 结果中使用多个连接返回错误值