我在使用tesseract库时遇到问题。我已经使用 VS2017 成功编译了 leptonica 和 tesseract 库。现在,我已将这些库用于MFC项目中,在其中进行了编译,没有任何错误。这是代码:
tesseract::TessBaseAPI api;
if (0 != api.Init(NULL, _T("eng"), tesseract::OEM_DEFAULT))
{
m_sState.Format(_T("tesseract initialize error"));
return FALSE;
}
没有什么复杂的,没有错...但是我遇到了两个问题:
检测到内存泄漏!转储对象-> {65734}正常块位于 0x014EEB88,长度为24个字节。数据:
10 00 00 00 08 00 00 00 46 58 44 65 62 75 67 00 {65733}正常块位于0x014EEB40、24 个字节长。数据: 10 00 00 00 08 00 00 00 46 58 44 65 62 75 67 00 {65732}正常块,位于0x03880908,长8个字节。 数据:<> 10 BE 96 0F 00 00 00 00 {65731}正常块位于 0x014EBDA8,32字节长。数据: A8 BD 4E 01 A8 BD 4E 01 A8 BD 4E 01 01 01 CD CD {65730}正常块位于0x03880A20,8 个字节长。数据:<> 04 BE 96 0F 00 00 00 00 {65729}正常 块位于0x014EE990,长度为24个字节。
我试图在Win10 64位VS2017上运行此项目,所有库和我的项目均编译为 Debug ...。如果这件事...您可以帮助我以便使用tesseract阅读简单的图像?
最后编辑: 当我将此代码添加到控制台应用程序中时:
#include <leptonica/allheaders.h>
#include <tesseract/baseapi.h>
int main()
{
std::cout << "Hello World!\n";
tesseract::TessBaseAPI api;
if (0 != api.Init(NULL, NULL))
{
std::cout << "tesseract initialize error\n";
std::cout << "Last error:" << GetLastError() << std::endl;
}
}
我收到以下错误消息:
Hello World!
Error in pixReadMemTiff: function not present
Error in pixReadMem: tiff: no pix returned
Error in pixaGenerateFontFromString: pix not made
Error in bmfCreate: font pixa not made
Error opening data file C:\Program Files (x86)\Tesseract-OCR\eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
tesseract initialize error
Last error:3
但是我在“程序文件(x86)”中没有任何“ Tesseract-OCR”文件夹...