首页 > 解决方案 > 如何在 C++ 中将 Tesseract-OCR 与 OpenCV 集成

问题描述

错误信息

错误信息,

我对 tesseract、matlab 和 opencv 都很陌生。我正在尝试将 tesseract-ocr 与我的 c++ 程序集成以检测我找到的车牌。但是 c++ 给我带来了错误。我需要帮助将我的 MAT 图像加载到 tesseract 以识别其中的字符。

这是车牌图像,它是一个 MAT 变量

这是车牌图像,它是一个 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"

这是我在运行程序时收到的错误消息之一。

标签: c++matlabopencvtesseract

解决方案


未解析的外部符号意味着编译器/链接器可以找到函数的声明,但找不到它的定义。好像您忘记将 cpp 文件添加到您的项目中一样。


推荐阅读