C++ tesseract 3.01实际\u tessdata\u num\u条目\u<;=TESSDATA_NUM_条目

C++ tesseract 3.01实际\u tessdata\u num\u条目\u<;=TESSDATA_NUM_条目,c++,ocr,tesseract,magick++,C++,Ocr,Tesseract,Magick++,我正在将tesseract 3.01和magick++构建到一个程序中,因为命令行版本太慢了。要正确编译所有内容需要花费很长时间,但最终我的编译器中没有错误,但只要我去运行我的控制台应用程序,我就得到了 PS C:\Users\sirus\Documents\Visual Studio 2013\Projects\ConsoleApplication4\Release> .\ConsoleApplication4.exe first command actual_tessdata_num_

我正在将tesseract 3.01和magick++构建到一个程序中,因为命令行版本太慢了。要正确编译所有内容需要花费很长时间,但最终我的编译器中没有错误,但只要我去运行我的控制台应用程序,我就得到了

PS C:\Users\sirus\Documents\Visual Studio 2013\Projects\ConsoleApplication4\Release> .\ConsoleApplication4.exe
first command
actual_tessdata_num_entries_ <= TESSDATA_NUM_ENTRIES:Error:Assert failed:in file ..\ccutil\tessdatamanager.cpp, line 48
PS C:\Users\sirus\Documents\Visual Studio 2013\Projects\ConsoleApplication4\Release> l
PS C:\Users\sirus\Documents\Visual Studio 2013\Projects\ConsoleApplication4\Release>\ConsoleApplication4.exe
第一命令
实际数据数量条目
在线搜索显示,当你不得不输入错误的语言数据时,就会出现这种情况,但我有tesseract 3.01和tesseract 3.01语言数据,它们是直接从谷歌代码网站下载的

我正在windows 8.1上使用visual studio 2013 building 32位/MD

这是我的资料来源的一个样本

#include <stdio.h>
#include <string>
#include <iostream>               
#include <iomanip>
#include <locale>
#include <sstream>
#include <string> 
#include <Magick++.h>
#include "baseapi.h"
#include "allheaders.h"
using namespace Magick;
using namespace std;
using namespace tesseract;
#define MaxRGB ((Magick::Quantum)65545)
tesseract::TessBaseAPI tess;



string cmd = "";
string cmd2 = "";


void img_split(){
    string tesseract = "\"C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe\" text/";
    int rect_y = 141;
    string del = "del /s /q text\\*";
    system(del.c_str());
    for (int x = 1; x < 40; x++){
        rect_y += 19;
        Image image;
        image.read("source.jpg");
        Magick::Image* mImage;
        Image sub_image(image);
        mImage = &sub_image;
        //mImage->write("test.jpg");


        sub_image.chop(Geometry(1481, rect_y));
        sub_image.crop(Geometry(220, 17));

        sub_image.quantizeColorSpace(GRAYColorspace);
        sub_image.quantizeColors(2);
        sub_image.quantizeDither(false);
        sub_image.quantize();
        sub_image.scale(Geometry(2200,170));
        sub_image.antiAlias();
        sub_image.compressType(Magick::NoCompression);


        //const unsigned char* imagedata = (unsigned char*)mImage;
        //tess.SetImage(imagedata, 2200, 170, 1, 17300);
        //tess.Recognize(0);
        //const char* out = tess.GetUTF8Text();
        //cout << "\n\nno idea if this will work: " << out << endl;


        sub_image.write("text/" + static_cast<ostringstream*>(&(ostringstream() << x))->str() + ".gif");
        //cmd2 = tesseract + static_cast<ostringstream*>(&(ostringstream() << x))->str() + ".png text/" + static_cast<ostringstream*>(&(ostringstream() << x))->str();
        //tesseract_ocr(x);
    }

}

int main(int argc, char **argv)
{
    cout << "first command\n";
    //tess.Init(argv[0], "eng", tesseract::OEM_DEFAULT);
    tess.Init(*argv, "eng");
    tess.SetPageSegMode(tesseract::PSM_AUTO);
    cout << "\ntest" << endl;
    InitializeMagick(*argv);
    //img_split();

    return 0;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括“baseapi.h”
#包括“allheaders.h”
使用名称空间Magick;
使用名称空间std;
使用命名空间tesseract;
#定义MaxRGB((Magick::Quantum)65545)
tesseract::TessBaseAPI-tess;
字符串cmd=“”;
字符串cmd2=“”;
无效img_分割(){
字符串tesseract=“\”C:\\Program Files(x86)\\tesseract OCR\\tesseract.exe \“text/”;
int rect_y=141;
字符串del=“del/s/q text\\\*”;
系统(del.c_str());
对于(int x=1;x<40;x++){
rect_y+=19;
图像;
image.read(“source.jpg”);
Magick::图像*mImage;
图像子图像(图像);
mImage=&sub_图像;
//mImage->write(“test.jpg”);
子图像切块(几何体(1481,矩形));
sub_图像裁剪(几何体(220,17));
子图像。量化色彩空间(灰度色彩空间);
子图像。量化颜色(2);
子图像量化抖动(假);
sub_image.quantize();
sub_图像比例(几何(2200170));
sub_image.antialas();
sub_image.compressType(Magick::NoCompression);
//常量无符号字符*图像数据=(无符号字符*)图像;
//tess.SetImage(imagedata,2200170,117300);
//认识苔丝(0);
//const char*out=tess.GetUTF8Text();
//库特
实际数据项数项