tesseract3.0.1在vs2010的配置备忘录

 

1)在主页上下载了tesseract-3.01-win_vs.zip(工程);tesseract-3.01.tar.gz(源代码)之后;解压;(注意:选择解压到****\(E)。如:解压到tesseract-3.0.1\(E))。

2)将目录tesseract-3.01中的所有文件夹拷贝到\tesseract-3.01-win_vs\tesseract-3.01中。

3)对于tesseract工程:打开vs2010文件夹,删除post-build.cmd文件,(因为该配置文件对部分的配置有效)

4)在vs2010环境中打开tesseract工程,选择其属性,在后期生成事件中均删除所有配置的命令行

5)在c/c++-〉预处理器-〉预处理器定义中填入“__MSW32__”(注:不是_MSW32_),否则会引起\host.h(123): error C2146: 语法错误: 缺少“;”(在标识符“inT64”的前面)错误。

6)libtesseract工程与tesseract工程里面同时包含了baseapi.cpp、pageiterator.cpp、resultiterator.cpp。所以如果你把libtesseract工程编译成静态的lib或者动态的dll及其导出库lib,然后在tesseract工程中清除原有的工程依赖项,并把libtesseract对应的静态lib或者动态dll对应的lib作为linker的输入,则会出现函数重复定义,因为tesseract中也包含了baseapi.cpp、pageiterator.cpp、resultiterator.cpp,故应该先把tesseract工程里的baseapi.cpp、pageiterator.cpp、resultiterator.cpp删除。

7)如果你的图片仅仅只有一行,如:

但如果你直接把该图片放在tesseract中运行,并在dos窗口中显示,会有两个回车换行符。原因是tesseract识别结果的输出是以utf8编码的,并且在末尾加了两个回车符。所以对于一行文本的图像来说,应该要去掉这两个回车符,可以把baseapi.cpp修改为

char* TessBaseAPI::GetUTF8Text() {
  if (tesseract_ == NULL ||
      (!recognition_done_ && Recognize(NULL) < 0))
    return NULL;
  int total_length = TextLength(NULL);
  PAGE_RES_IT   page_res_it(page_res_);
  char* result = new char[total_length];
  char* ptr = result;
  for (page_res_it.restart_page(); page_res_it.word () != NULL;
       page_res_it.forward()) {
    WERD_RES *word = page_res_it.word();
    WERD_CHOICE* choice = word->best_choice;
    if (choice != NULL) {
      strcpy(ptr, choice->unichar_string().string());
      ptr += choice->unichar_string().length();
      //if (word->word->flag(W_EOL))
      //  *ptr++ = '\n';
      //else
      //  *ptr++ = ' ';
    }
  }
//  *ptr++ = '\n';
//  *ptr = '\0';
  return result;
}

8)在vs2010环境下运行(即f5键,或工具栏中 三角形符号按钮),当出现错误在: 

for (i = 0; i < Templates->NumClasses; i++) {
    NormAdjust = (int) (INT_CHAR_NORM_RANGE *时候,主要是tessdata特征库文件未找到。但你当按组合键ctrl+f5,就会发现提示的错误信息。

9)如果自定义某个语言的特征库词典,此时使用的tesseract的版本一定要与生成该特征词典的tesseract版本一致。

10)在word里生成bmp文件时,不要对里面的符号进行类似于 膨胀,或者闭操作等。如果一味追求类别中的字符个数,反而导致准确度差。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值