ReleaseNotes - kana112233/tesseract GitHub Wiki

发行说明

此页面保留最新的发行说明.

Table of Contents

开发中

API/ABI更改图表

![api_abi_changes.png(https://github.com/tesseract-ocr/tesseract/wiki/api_abi_changes.png)

##自上次发布以来所做的更改

*添加了以ALTO标准格式化的新输出选项. 命令行用法:tessaract imagename outputbase alto. 此输出是实验,可能会在下一个版本之前稍微更改一下.

#Tesseract发行说明2018年10月29日 - V4.0.0   

  • 新的OCR引擎      *增加了一个新的OCR引擎,它使用基于LSTM的神经网络系统,具有很高的准确性.      *这包括LSTM OCR引擎的新培训工具. 可以从头开始或通过微调现有模型来训练新模型.      *添加了包含LSTM模型到[123种语言]的训练数据(https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#updated-data-files-for-version-400-september-15- 2017年).      *为LSTM识别器添加了可选的加速代码路径:        *使用OpenMP        *使用SIMD:AVX2/AVX/SSE4.1      *添加了一个新参数lstm_choice_mode,允许在hOCR输出中包含替代符号选项.   
  • 其他OCR引擎      *此版本中仍然提供以前版本中作为主要OCR引擎的模式匹配OCR引擎.      *从代码库中删除了“Cube”OCR引擎. 它用于印地语和阿拉伯语. 新LSTM引擎的性能要好得多,因此不再需要Cube引擎.   
  • 更新的构建系统     
  • Tesseract现在使用语义版本控制.      *添加了一个选项,无需传统OCR引擎的代码即可编译Tesseract.   
  • 更新要求      *要从源代码构建Tesseract,需要具有良好C ++ 11支持的编译器. 有关官方支持的编译器列表,请参见here.     
  • Tesseract现在需要Leptonica 1.74.0或更高版本.      *将最低要求的autoconf版本更新为2.63.      *培训工具依赖性 - 更新所需的最低版本:ICU 52.1,Pango 1.22.0.   
  • 错误修复和增强功能      *修复了许多触发编译器警告的问题.      *修复了Coverity ScanLGTM报告的许多问题 ).      *修复了trainingdata渲染.      *修复了处理PDF时对二进制图像的损坏.      *不要为发布代码中的致命错误触发故意的分段错误[(Commit 5338a5a8d)](

https://github.com/tesseract-ocr/tesseract/commit/5338a5a8d5e4ebad).      *修正了OpenCL代码中的一些问题. OpenCL现在适用于传统的Tesseract OCR引擎,但不会提高性能. 它没有为LSTM OCR引擎实现.      *改进了多页TIFF处理.     

  • PDF渲染的改进.      *为培训工具添加了版本信息和改进的帮助文本.      *添加了更快版本的log2().      *在tesseract手册页中记录了使用包含图像列表的输入文本文件的选项.      *当请求psm 0时,将'osd'设为默认的训练数据(目前此功能仅在命令行界面中实现,但不在API中实现).      *删除了tessedit_pageseg_mode 1

来自hocr,pdf和tsv配置文件. 如果需要,用户应明确使用--psm 1 (Commit ecfee53ba).      *现在可用语言和脚本列表按字母顺序排序.      *参数unlv_tilde_crunching更改为false,因为在Tesseract 4中输出unv时,默认值会导致问题(#948,#1449).      *添加了参数:min_characters_to_try.   

  • 其他      *重组了Tesseract的源代码树. 现在大多数源都在src目录下面.      *在主回购中添加了单元测试. 单元测试需要Git子模块和训练代码.      *删除过时的代码.   
  • 重要笔记      *新的LSTM引擎仍然不支持旧版旧引擎的所有功能(参见[缺少功能](https://github.com/tesseract-ocr/tesseract/wiki/Planning#features-from-30x-which-are -missing换LSTM)).     
  • Tesseract现在需要所谓的“C”语言环境. 当Tesseract被用作Java或Python等编程语言的库时,这主要有影响. _locale_代表几种取决于语言(或语言变体)或国家/地区的设置. 其中一些设置确定符号的分类(例如“此字符是空白(空格)字符吗?”)或数字的打印方式(例如“3.141”或“3,141”). 当前的Tesseract代码隐含地期望一些固定设置,否则它会失败. 因此,如果无法确定设置是否有效,则代码在开头就会出现断言. 对于C或C ++程序来说,这不是问题,默认情况下,它使用正确的设置获得“C”语言环境. 所有其他用例当前必须确保在运行Tesseract代码之前切换到“C”语言环境. Tesseract代码将在下一个版本中进行修改,以适用于任何语言环境,因此有望立即删除当前限制.

#Tesseract发行说明2018年6月19日 - V3.05.02

此版本修复了一些错误,从4.0.0向后移植.

#Tesseract发行说明2017年6月1日 - V3.05.01    *添加了一个选项,只渲染不可见的文本图层(没有完整的

输入图像)用于PDF输出.    *对GenericVector进行了一些优化.    *修复了--disable-graphics构建.    *固定 - 启用可见性构建(包括培训工具).    *修正了以'\ r \ n'作为换行符的读取配置文件.   

  • OpenCL - 修正了一些问题. 删除了很大一部分代码.    *删除了死代码.

#Tesseract发行说明2017年2月16日 - V3.05.00   

  • Tesseract现在需要Leptonica 1.74.0或更高版本.    *对hOCR输出进行了一些微调.    *添加TSV作为另一种可选输出格式.    *修正了使用AnalyseLayout()方法在3.04.00中引入的ABI中断.   
  • text2image工具 - 启用字体中可用的所有OpenType连字. 此功能需要Pango 1.38或更高版本.    *培训工具 - 用tprintf()和exit(1)替换断言.    *修正了Cygwin的兼容性.    *改进了多页TIFF处理.    *改进的嵌入式PDF字体(pdf.ttf).    *从命令行启用OCR引擎模式选择.    *将tesseract命令行参数'-psm'更改为'--psm'.    *添加了用于方向和脚本检测的新C API,删除了旧的.    *将最小autoconf版本增加到2.59.    *删除了死代码.    *修正了许多编译器警告.    *修复内存和资源泄漏.    *修正了“立方体”OCR引擎的一些问题.    *修正了一些OpenCL问题.    *添加了使用CMake构建系统构建Tesseract的选项.    *实施CPPAN支持轻松构建Windows.

#Tesseract发行说明2016年2月16日 - V3.04.01    *为psm 0添加了OSD渲染器.适用于单页和多页图像.    *改进了tesstrain.sh脚本.    *简化ScrollView的构建和运行.    *改进了OS X预览实用程序的PDF输出.   

  • INCOMPATIBLE修复hOCR行高信息 - 提交134ebc3.    *添加了在没有Cube OCR引擎(-DNO_CUBE_BUILD)的情况下构建Tesseract的选项.    *该项目使用Travis CI和AppVeyor持续集成服务.

#Tesseract发行说明2015年7月11日 - V3.04.00   

  • Tesseract开发现在通过Git完成并在github.com上托管

(之前我们使用Subversion作为VCS,使用code.google.com进行托管).   

  • Tesseract现在需要Leptonica 1.71或更高版本.    *删除了对VS2008的官方支持.    *通过对100种语言的广泛测试,对培训系统进行了重大更新.    *超过[100种语言]的新培训数据(https://github.com/tesseract-ocr/tessdata/tree/3.04.00). 增加了对39种附加脚本/语言的支持:amh,asm,aze_cyrl,bod,bos,ceb,cym,dzo,fas,gle,guj,hat,iku,jav,kat,kat_old,kaz,khm,kir,kur,lao ,lat,mar,mya,nep,ori,pan,pus,san,sin,srp_latn,syr,tgk,tir,uig,urd,uzb,uzb_cyrl,yid.    *添加了备份自适应分类器,以便在填充大型文档时从主要分区接管.    *使用PIC编译选项提高性能.    *对PDF输出中隐形字体系统的重大改进进行改进

正确性和与外部程序的兼容性,特别是ghostscript.    *改进了字体识别.    *改进重度变音语言的布局分析的主要变化:

泰国,越南,卡纳达,泰卢固语等    *修复了移位基线的问题,以便识别可以从中恢复

布局分析错误.    *主要的重构,以提高困难图像的速度,尤其是当

运行堆检查器.    *将params从全局页面布局移到tesseractclass.    *改进的单列布局分析.    *使用tesseract命令行可执行文件允许OCR输出为多种格式.    *修复了混合eng + ara脚本的问题.    *改进了数字中的脚本一致性.   

  • control.cpp的主要重构,以启用行识别.    *添加了tesstrain.sh - 一个主训练脚本.    *增加了text2image训练工具的能力,只列出可用的字体.    *增加了text2image下划线字的功能.    *提高PDF输出的图像处理效率.    *为'print-parameters'列出的每个参数添加了参数说明

命令行选项.    *为hOCR输出添加了字体信息.    *启用多页文档的流输入和输出.    *许多错误修复.

#Tesseract发行说明2014年2月4日 - V3.03(rc1)   

  • Tesseract现在需要Leptonica 1.70或更高版本.    *增加了OpenCL支持(实验性).    *添加了新的训练工具text2image,以从文本和truetype字体生成box/tif文件对.    *添加了对可搜索文本的PDF输出的支持.    *删除了整个IMAGE类和图像目录中的所有代码.   
  • Tesseract可执行文件:支持输出到stdout; 来自stdin的一页图像的有限支持(特别是在Windows上)    *向API添加了渲染器,以允许文档级处理和输出文档格式,如hOCR,PDF.    *字级识别,光束搜索,消除死代码的主要重构.    *重构分类器,以便更容易添加新分类器.    *通用特征提取器,允许从灰度中提取特征.    *改进的子/上标处理.    *改善基线拟合.    *为训练工具添加了set \ _unicharset \ _properties.    *许多错误修复.    *包括更多培训源数据.

#Tesseract发行说明2012年10月23日 - V3.02.02   

  • Tesseract现在需要Leptonica 1.69或更高版本.    *将ResultIterator/PageIterator移动到ccmain.    *在希伯来语/阿拉伯语的输出迭代器中添加了从右到左/Bidi功能.    *在布局分析/后OCR中添加了段落检测.    *修正了训练和过度砍伐过程中不一致的x高度.    *增加了同步多语言功能.    *重构顶级单词识别模块.    *增加了实验方程检测器.    *改进输入图像的分辨率处理.   
  • Blamer模块已添加用于错误分析.    *通过从baseapi.h中删除包含来清理外部使用的命名空间.    *删除了死内存管理代码.    *整理控制参数的限制.    *在分类器和培训中添加了对ShapeTable的支持.    *重构类修剪器.    *修正了培训漏洞和随机性.    *布局分析的主要改进,以更好的图像检测,变音检测,更好的文本行查找,更好的tabstop发现.    *改进线路检测和删除.    *为CJK增加了固定间距斩波器.    *为WERD \ _CHOICE添加了UNICHARSET,使多语言处理更容易.    *修复了内部缩放图像的问题.    *在tr文件中添加了页面和bbox字符串,以更好地识别训练数据的来源.    *修复印地语Shiroreka分离器.    *增加了字母二重奏校正.    *减少堆栈内存消耗并消除一些丑陋的typedef.    *添加了新的统一分类器API.    *添加了新的训练错误计数器.    *修复了dawg阅读器中的endian bug.   
  • C API(感谢TobiasMüller)   
  • VS 2008的新解决方案(感谢Tom Powers)    *修正了切碎机在切割器发现剁碎和混乱时的方式.    *许多其他修复.

#Tesseract发行说明2011年10月21日 - V3.01    *线程安全! 将所有关键全局变量和静态变为适当类的成员. Tesseract现在是线程安全的(多个实例可以在多个线程中并行使用.),但有一些控制参数仍然是全局的,并影响所有线程.    *添加了Cube,一个用于阿拉伯语和印地语的新实验识别器. 对于其他几种语言,立方体也可以与普通的Tesseract结合使用,并且在低得多的速度下可以略微提高精度. ** Cube没有培训模块.**    *Init中的OcrEngineMode替换AccuracyVSpeed来控制立方体.    *极大地改进了分段搜索,从而提高了准确性和速度,特别是对于中文.    *添加了PageIteratorResultIterator作为从Tesseract中获取完整结果的更简洁方法,这些方法目前不是由任何TessBaseAPI :: Get *方法提供的. 所有其他方法,例如特别是ETEXT_STRUCT都已弃用,将来会被删除.   

  • ApplyBoxes完全重写,使训练更容易. 它现在可以处理触摸/重叠训练字符,并且新的boxfile格式允许使用单词框而不是字符框,但是要使用你必须已经用字符框提升语言. 对训练有素的数据的“循环依赖”.    *自动定位和脚本检测添加到页面布局分析.    *删除批次死代码.   
  • Fixxht模块替换为可扩展的数据驱动模块.    *输出字体特征精度提高.    *删除了每个分类的双重转换.    *将最旧的结构升级为类,并弃用PBLOB.    *删除了非确定性基线拟合.    *为中文添加了固定长度的dawgs.    *改进了垂直文本的处理.    *领导者点的处理得到改善.    *表检测大大提高.    *修正了几个内存泄漏.    *修正输出文本上的字体标签. (不完美,但比以前好多了.)    *清理和更多错误修复    *印地语的特殊待遇.    *支持使用适用于Windows 7的Microsoft Windows SDK构建VS2010(感谢Michael Lutz)

#Tesseract发行说明2010年9月30日 - V3.00    *螺纹安全准备:      *将TessBaseAPI方法更改为非静态方法      *为保存实例数据的目录创建了一个类层次结构,并开始将代码移入类中.      *将阈值代码移动到单独的类.    *增加了主要的新页面布局分析模块.    *增加了hOCR输出.    *添加Leptonica作为主要图像I/O和处理. 目前是可选的,但在将来版本中与Leptonica的链接将是强制性的.    *重写歧义表以允许明确替换而不是fix \ _quotes.    *添加了TessdataManager将数据文件合并为一个文件.    *删除了一些死代码.    *不再支持VC ++ 6. 它无法应对模板的使用.    *添加了更多语言.    *大多数函数头注释的Doxygenation.

#Tesseract发行说明2009年6月30日 - V2.04    集成补丁以实现可移植性并删除一些“访问”宏.    从观众中删除了对lua的依赖,使其更快. 此外,查看器现在可以编译和工作(在Linux上).还可以通过预先构建的ScrollView.jar在Windows上运行.    *修正了以下问题:1,63,67,71,76,79,81,82,84,106,108,111,112,128,129,130​​,133,135,142,143,145,146, 147,153,154,160,165,169,170,175,177,187,192,195,199,201,205,209.    *这是支持VC ++ 6的最后一个版本!    *这也可能是没有Leptonica编译的最后一个版本!   

  • Windows版本现在默认输出到stderr,修复了很多问题,缺少可见的有意义的错误消息.

#Tesseract发行说明2008年4月22日 - V2.03

由于最后一刻“简单”的改变,2.02是不可能的.

2.03解决了这个问题.

它还为leptonica添加了一个包含检查

使它更有用.

#Tesseract发行说明2008年4月21日 - V2.02    *集群,培训和分类器的改进.    *大字符集语言的主要国际化改进,例如卡纳达语.    *删除了一些编译器警告.    *为训练和跑步增加了多重tiff支持.    *更新图形输出以与基于java的新查看器对话.    *添加了保存n个最佳列表的功能.    *为更多文件类型添加了Leptonica支持.    *改进了Init/End以确保其安全.    *减少字典的内存使用.    *为TessBaseAPI添加了一些新的API.    *修复了jpeg库(INT32)的命名空间冲突.   

  • Windows的可移植性修复程序用于新代码.    *更新autoconf系统以获取新代码.

#Tesseract发行说明2007年8月30日 - V2.01

(有关使用信息,另请参阅下面2.00的发行说明)

没有重大功能改变. 只是一堆错误修复.    *修正了盒式文件阅读器的UTF8输入问题.    *修复了dawg代码中的各种无限循环和崩溃.    *从host.h中删除了包含config \ _auto.h的内容.    *为unicharset \ _extractor添加了自动wctype编码.    *修复了dawg表太满错误.    *从tarball中删除了svn文件.    *为tessdll添加了新功能.    *分类结果中的最大utf8字符串增加到8.    *为Ocropus添加了TessBaseAPI的新功能.

没有原始6种语言的新数据文件. 使用v2.00中的文件.

德国Fraktur(deu-f)和Brazillian葡萄牙语(por)有新的数据文件.

** STOP PRESS ** unicharset \ _extractor中有一个小错误. 由于这仅适用于培训,除非您需要运行培训,否则主tarball很好,在这种情况下,使用tesseract-2.01.patch1.tar.gz中的那些覆盖unicharset \ _extractor.cpp和unicharset \ _extractor.exe. .

#Tesseract发行说明2007年7月18日 - V2.00

(有关其他使用信息,另请参阅下面的1.04发行说明)

首次发布国际版.

此版本可识别以下语言:    *英语 - eng    *法语 - fra    *意大利语 - ita    *德语 - deu    *西班牙语 - 水疗    *荷兰语 - nld

The language codes follow ISO 639-2. The default language is English. To recognize another language:

tesseract inputimage outputbase -l langcode

要训​​练新语言,请参阅TrainingTesseract2.

随着时间的推移会出现更多语言.

此版本中的更改列表:    *将内部字符处理转换为UTF8.    *训练有6种语言.    *添加了unicharset \ _extractor,wordlist2dawg.    *添加了boxfile创建模式.    *增加了UNLV回归测试功能.    *修复了版权和注册符号的问题.    *修复了外部“C”声明问题.    *对跨平台的准确性的一致性进行了一些改进.    *增加了VC ++ express支持.

警告: Tesseract 2.00经历了比以前任何版本更多的兼容性测试. 甚至还有一些修复方法可以使各个平台的准确性更加一致. 话虽如此,代码已经发生了很多变化,可移植性可能已被破坏,因此64位和Mac平台可能无法正常工作甚至构建.

#Tesseract发行说明2007年5月15日 - V1.04

Tesseract开发现在使用Subversion完成并托管在code.google.com上(之前我们使用CVS作为VCS,使用sourceforge.net进行托管).

仅限Windows用户

Added a dll interface for windows. Thanks to Glen at Jetsoft for contributing this. To use the dll, include tessdll.h, import tessdll.lib and put tessdll.dll somewhere where the system can find it. There is also a small dlltest program to test the dll. Run with:

dlltest phototest.tif phototest.txt

It will output the text from phototest.tif with bounding box information.

适用于Windows的新功能

该发行版现在包括tesseract.exe和tessdll.dll

** 可能开箱即用! 您无需担保

VC ++ 6版本的MFC和CRT(至少)可以使用它. (没有电池

包括,当然没有installshield.)

**使用make构建的任何人的重要说明:即除devstudio之外的任何人

用户**

This release includes new standardization for the data directory. To enable Tesseract to find its data files, you must either:

./configure
make
make install

to move the data files to the standard place, or:

export TESSDATA_PREFIX="directory in which your tessdata resides/"

(or equivalent) in your .profile or whatever or setenv to set the environment variable. Note that the directory must end in a /

在同一目录中有tesseract和tessdata不能正常工作.

所有用户

修复了一堆名称冲突 - 主要是STL.

为unicode兼容性做了一些初步更改. 包含新数据

file(unicharset)并将其他数据文件重命名为eng. 支持

不同的语言.

还有其他一些小错误修复和可移植性改进

对于64位,最新的visual studio编译器等.

感谢所有提供这些修复的人.

注意:这可能是最后一个英文版本!

向非Windows用户提前道歉,以便扩大分发范围

Windows可执行文件. 这可能会在下一个版本中修复

多语言功能,因为这也将使分发膨胀.

#Tesseract发行说明2007年2月3日 - V1.03    *增加了mtraraining和cntraining.    *添加了baseapi,具有灰度和颜色的自适应阈值.    *修复了许多内存泄漏问题.    *修正了一些错误,包括缺乏自适应分类器.    *添加了ifdef以消除图形代码并添加嵌入式平台支持.    *合并了几个补丁,包括64位版本,Mac版本.    *微小的准确性改进.

#Tesseract发行说明2006年10月4日 - V1.02    *删除了对阿司匹林的依赖.    *修复了一些缺少的Apache许可证标题.    *删除了$ log.

#Tesseract发行说明2006年9月7日 - V1.01    *为VC ++添加了mfcpch.cpp和getopt.cpp.    *修复了灰度图像和没有libtiff的问题.    *停止调试窗口用于使用输出.    *修复了big-endian架构的inttemp负载.    *修正了一些Mac编译问题.

#Tesseract发行说明2006年6月17日 - V1.00

第一个开源版Tesseract!

在sourceforge.net上主持.

CVS用于版本控制.

⚠️ **GitHub.com Fallback** ⚠️