發行說明
此頁面提供最新的發行說明。
目錄
- 開發中
- V5.5.0 2024 年 11 月 10 日
- V5.4.1 2024 年 6 月 11 日
- V5.4.0 2024 年 6 月 6 日
- V5.3.4 2024 年 1 月 18 日
- V5.3.3,2023 年 10 月 5 日
- V5.3.2,2023 年 7 月 11 日
- V5.3.1,2023 年 4 月 1 日
- V5.3.0,2022 年 12 月 22 日
- V5.2.0,2022 年 7 月 6 日
- V5.1.0,2022 年 3 月 1 日
- V5.0.1,2022 年 1 月 7 日
- V5.0.0,2021 年 11 月 30 日
- V4.1.3,2021 年 11 月 15 日
- V4.1.2,2021 年 11 月 14 日
- V4.1.1,2019 年 12 月 26 日
- V4.1.0,2019 年 7 月 7 日
- V4.0.0,2018 年 10 月 29 日
- V3.05.02,2018 年 6 月 19 日
- V3.05.01,2017 年 6 月 1 日
- V3.05.00,2017 年 2 月 16 日
- V3.04.01,2016 年 2 月 16 日
- V3.04.00,2015 年 7 月 11 日
- V3.03(rc1),2014 年 2 月 4 日
- V3.02.02,2012 年 10 月 23 日
- V3.01,2011 年 10 月 21 日
- V3.00,2010 年 9 月 30 日
- V2.04,2009 年 6 月 30 日
- V2.03,2008 年 4 月 22 日
- V2.02,2008 年 4 月 21 日
- V2.01,2007 年 8 月 30 日
- V2.00,2007 年 7 月 18 日
- V1.04,2007 年 5 月 15 日
- V1.03,2007 年 2 月 3 日
- V1.02,2006 年 10 月 4 日
- V1.01,2006 年 9 月 7 日
- V1.00,2006 年 6 月 17 日
開發中
Tesseract 的 API/ABI 變更審查
V5.5.0
2024 年 11 月 10 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.5.0
V5.4.1
2024 年 6 月 11 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.4.1
V5.4.0
2024 年 6 月 6 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.4.0
V5.3.4
2024 年 1 月 18 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.3.4
V5.3.3
2023 年 10 月 5 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.3.3
V5.3.2
2023 年 7 月 11 日
https://github.com/tesseract-ocr/tesseract/releases/tag/5.3.2
V5.3.1
2023 年 4 月 1 日
稍微調整格式,改善 DebugDump 輸出。由 @GerHobbelt 在 PR #4022 中提供。
錯誤修復
- 修正浮點數除以零的錯誤 (issue #3995)。由 @stweil 在 PR #3996 中提供。
- 修正 issue #3997 和 #4010。啟用在編譯時停用舊引擎時,被錯誤停用的一些程式碼區塊。由 @amitdo 在 PR #4041 中提供。
- 透過包含
<cstdint>
來修正使用 GCC 13 的建置。由 @kraj 在 PR #4009 中提供。
CMake 建置系統
- 修正 icu 和 pango 的連結。由 @autoantwort 在 PR #4006 中提供。
- (MSVC 除錯) 修正產生的檔案
tesseract.pc
中的錯誤 lib 名稱。由 @autoantwort 在 PR #4008 中提供。 - 修正產生的檔案
tesseract.pc
中的 libdir。由 @ferdnyc 在 PR #4013 中提供。
編譯器支援
我們已停止支援 GCC 和 libstdc++ 8.x。
V5.3.0
2022 年 12 月 22 日
LSTM 訓練:擴展函式 BoxFileName
以處理另一個圖片名稱副檔名,.raw.png
。由 @bertsky 在 PR #3962 中提供。
錯誤修復
- 修正舊版 OCR 引擎的訓練工具 (issue #3925)。由 @stweil 在 PR 中提供:#3970、#3972、#3977。
- PDF 渲染器:忽略非文字區塊 (修正 issue #3957)。由 @amitdo 在 #3959 中提供。
- 在閾值化之前移除色彩對應表 (修正 issue #3940)。由 @zdenop 提供。
- 修正 Coverity Scan 報告的多個效能問題。由 @stweil 在 PR #3967 中提供。
- 訓練工具:將
exit
函式的呼叫,替換為main
函式中的 return 陳述式。由 @stweil 在 PR #3878 中提供。 - 修正函式
vigorous_noise_removal
中的雙重釋放 (issue #3876)。由 @stweil 在 commitee34b100bf
中提供。 - 如果需要在
Textord::make_spline_rows
中建立to_win
(修正 issue #3875)。由 @stweil 在 commit99d6717c10
中提供。 - 修正
ScrollView::MessageReceiver
中的記憶體問題 (issue #3869)。由 @p12tic 在 PR #3872 中提供。 - 捕捉
SVNetwork::SVNetwork
中潛在的nullptr
。由 @stweil 在 commit02e834000c
中提供。 - 現代化函式
ObjectCache::DeleteUnusedObjects
(修正與 Sanitizer 的問題)。由 @stweil 在 PR #3978 中提供。
建置系統
- 將
svpaint.cpp
從src/viewer
移至src/
。在 Autotools 中新增 svpaint 可執行檔的規則。 - 修正在 FreeBSD 上使用 Autotools 進行 AMD64 偵測。
- 修正從 CMake 產生的
tesseract.pc
以符合 Autotools。
V5.2.0
2022 年 7 月 6 日
- 新增 Intel AVX512F 的初始支援。這可提高使用「最佳」模型進行辨識和訓練的效能。
- C API:新增一個函式,可使用來自記憶體的 traineddata 初始化 Tesseract。
- 新增一個新的參數
invert_threshold
。預設值為0.7
。在之前的 5.x 版本中,反轉閾值為0.5
,使用者無法變更此值。tessedit_do_invert
參數已過時,將在 6.0 版中移除。若要完全停用文字行反轉,您可以將invert_threshold
值設為0.0
。 - 修正 UZN 檔案的回歸問題。
- 將直接存取 Leptonica 內部資料結構,替換為函式呼叫 (這是為了與下一個 Leptonica 版本相容所必需的)。
- 將
std::regex
替換為std::string
函式 (issue #3830)。 - 修正 32 位元主機上超大 PDF 檔案的問題。
- 使用某些 32 位元 MSVC 編譯器版本編譯時,將 AVX2 程式碼的
/Os
設定 (issue #3769)。 - 也在 Windows 上使用編譯進去的
TESSDATA_PREFIX
。 - C API:修正為
malloc
配置的記憶體呼叫delete[]
的問題。 - 改善 CI 建置定義。
- 改善 Autotools 和 CMake 建置定義。
V5.1.0
2022 年 3 月 1 日
- 處理 ALTO、hOCR 和文字輸出格式中的影像和行分隔符號區域。
- 其他一些增強功能。
- 一小組錯誤修正。
- 移除未使用的程式碼。
- 將所需的最低 CMake 版本提高至 3.10。
V5.0.1
2022 年 1 月 7 日
- 修正使用 GCC 11 的 msys2 建置損壞問題。
- 在 URL 上執行 OCR 時,最多支援 8 個重新導向。
- 捕捉
STATS::pile_count()
中的nullptr
。 - 移除
NetworkIO::ZeroTimeStepGeneral()
。這可讓更多內嵌程式碼 (最佳化)。 - 更新查閱表的產生器,以使用
TFloat
而不是double
。 - 修正在
functions.h
中的 clang 編譯器警告。新程式碼避免了double
和float
之間的一些轉換,因此也應該對效能產生一些正面的影響。 - 修正編譯器警告 [
-Wsign-compare
]。 - 修正由空白陳述式造成的編譯器警告。
- 修正其他一些編譯器警告。
- 移除未使用的程式碼。
- 將
SPDX-License-Identifier
新增至公開的包含檔案。
CMake 建置
- 正確偵測
amd64
、x86_64
、i386
和i686
目標。 - 如果沒有 pkg-config,則不要嘗試設定訓練工具。
- 安裝 Tesseract 設定檔。
V5.0.0
2021 年 11 月 30 日
- 顯著的效能提升
- 支援用於 LSTM 模型訓練和文字辨識的
float
(32 位元)。float
現在是預設值,而不是double
(64 位元)。這表示 RAM 消耗量更少且程式執行速度更快。 - 僅當平均信賴度低於 50% 時,才在反轉的行上嘗試 OCR (#3141)。
- SIMD
- 新增 Arm Neon 的手動點積支援。
- 其他許多改進。
- 支援用於 LSTM 模型訓練和文字辨識的
- 一般增強功能
- 新增兩種基於 Leptonica 的新二值化方法:Adaptive Otsu 和 Sauvola。對於使用者:使用
tesseract --print-parameters | grep thresholding_
來查看相關的可設定參數。 - 停用音符符號偵測和移除,因為它會干擾表格偵測功能。將
pageseg_apply_music_mask
的預設值變更為false
。 - 新增一個新的命令列選項
--print-fonts-table
。列印字型清單 (id, 名稱)。僅適用於具有舊版 OCR 引擎資料的 traineddata 檔案。 - 新增一個新的參數
tessedit_font_id
。它可以強制 Tesseract 使用 traineddata 檔案中的特定字型來識別影像中的文字。 - 新增一個新的命令列選項
--loglevel
。 - 為
combine_tessdata
新增一個選項-l
,以取得使用 LSTM 引擎訓練之 traineddata 的網路規格。 lstmtraining
工具:將--max_iterations
的負值解讀為 epoch。- 從 NFKC 切換到 NFC 正規化 (如果要求分解模式,則從 NFKD 切換到 NFD)。
- 文字輸出:不要為單頁影像新增頁面分隔符號。
- hOCR 輸出:將
scan_res
屬性寫入ocr_page
。 - 在先前的版本中,PDF 渲染需要
pdf.ttf
。在 5.0.0 版本中,不再需要此檔案。偽字型現在已嵌入程式碼中。
- 新增兩種基於 Leptonica 的新二值化方法:Adaptive Otsu 和 Sauvola。對於使用者:使用
- 程式碼現代化
- 從公開 API 中移除自訂資料類型
STRING
、GenericVector
和PointerVector
。已從程式碼庫中完全移除的STRING
類型已由std::string
取代。GenericVector
類型在程式碼庫中大部分已由std::vector
取代。PointerVector
已部分由std::vector
取代。 - 使用
std::bitset<16>
取代自訂的BITS16
。 - 以現代 C++ 程式碼取代 malloc 和 free。
- 以
std::string
取代strdup
和free
。 - 以
std::to_string
取代一些snprintf
。 - 以 C++ 類型轉換取代 C 樣式類型轉換(修正
-Wold-style-cast
編譯器警告)。移除不必要的類型轉換。 - 以 struct 取代 typedef struct。
- 使用
std::swap
取代自訂函式。 - 在更多地方使用
unique_ptr
/make_unique
。 - 使用 clang-tidy 將程式碼現代化。
- 進行了許多其他變更以使程式碼庫現代化。
- 從公開 API 中移除自訂資料類型
- 訓練腳本
- 移除基於 Bash 的訓練腳本。如果您仍然需要這些腳本,可以在 歷程記錄 中的儲存庫中找到它們。請不要開啟新的問題詢問這些舊的不受支援的腳本。
- 將基於 Python 的訓練腳本移至 tesstrain 儲存庫。
- 建置系統
- 重構 Autotools 建置。它現在使用非遞迴 (auto)make。
- configure.ac:將最低要求的 autoconf 版本更新為 2.69。
- 將最低要求的 Pango 版本提高到 1.38.0。
- libtesseract API
- 此版本包含對公開 API 的重大變更。5.0.0 版與 4.x 不相容。使用 libtesseract 的開發人員需要調整其程式碼以適應這些變更。
- 減少公開標頭的數量。這包括
genericvector.h
和strng.h
標頭檔案。 - 從 API 中移除一些不必要的方法。
- 原始碼配置重組,檔案重新命名
- 所有公開標頭現在都放置在
include/tesseract
目錄中。 - 將
tess_version.h.in
重新命名為version.h.in
。 - 將
platform.h
重新命名為export.h
。 - 將
src/api/tesseractmain.cpp
移至src/tesseract.cpp
。 src/training
目錄:將訓練工具與程式庫分離。
- 所有公開標頭現在都放置在
- 更新的需求
- 若要從原始碼建置 Tesseract,需要具有良好 C++17 支援的編譯器。
V4.1.3
2021 年 11 月 15 日
修正損壞的 autotools 建置。
V4.1.2
2021 年 11 月 14 日
- 將
RowAttributes()
從LTRResultIterator
移至PageIterator
。 - 將要訓練的影像最大允許寬度從
2560
變更為4096
。 - 新增
SVMutex
和SVSemaphore
解構函式,以避免系統物件洩漏。 - 不要輸出空的 ALTO
sourceImageInformation
。 - 使用 libcurl 擴展 Tesseract 的 URI 支援。
- 警告並停止使用整數模型完成的 LSTM 訓練程序。
Autotools 建置的變更
- 修正 MacOS 的 autoconf 建置。
- 修正因重新定義
DEFAULT_INCLUDES
而導致的 automake 警告。 - 不要在 autoconf 建置中使用編譯器旗標
-march=native -mtune=native
。 - 使 automake 建置預設較不吵雜。
V4.1.1
2019 年 12 月 26 日
- 新增透過 URL 支援影像或影像清單。此功能是使用 libcurl 實作的。用法:
tesseract http://IMAGE_URL OUTPUT ...
- 新增參數
document_title
以設定 OCR 輸出檔案 (hOCR、PDF、ALTO) 中的標題。 - 新增參數
tessedit_do_invert
,將其設定為false
時,可以加速 tesseract 的執行。 - 新增參數
pageseg_apply_music_mask
以允許停用音樂遮罩。 - 將 ComposedBlock 層級新增至 ALTO 渲染器,使其更符合 hOCR 渲染器。
- 訓練。擴展函式
BoxFileName
以處理更多影像名稱:.bin.png
和.nrm.png
。在 PR #2686 中。 - 修正自 4.1.0 以來發現的更多地區設定處理問題。
- 修正 text2image 中的記憶體洩漏。
- 修正執行 UndefinedBehaviorSanitizer 發現的潛在錯誤。
- 修正 Coverity Scan 報告的許多問題。
- 程式碼清理和現代化。
- 程式碼最佳化。
- 許多錯誤修正。
- 新增一個選項以使用 sw 建置系統和套件管理員來建置 tesseract。使用 cppan 建置已淘汰。
V4.1.0
2019 年 7 月 7 日
- 與 4.0.0 向後相容的版本
- 新增一個選項,可使用可設定的變數
dotproduct
來選擇點積函式。可能的值:auto
(預設)、generic
、native
、avx
、sse
。 - 新增一個以 ALTO 標準格式化的新輸出選項。命令列用法:
tesseract imagename outputbase alto
。此輸出為實驗性質,在下一個版本之前可能會稍作變更。 - 新增新的渲染器 LSTMBox、WordStrBox 以簡化訓練
- 在 hOCR 輸出中新增字元方塊。
- 新增 Python 訓練腳本 (實驗性) 作為替代 Shell 腳本。
- 修正地區設定處理問題。libtesseract 現在適用於任何地區設定。
- 更好地支援 AVX / AVX2 / SSE。
- 修正邊界方塊問題。
- 實作 LSTM 引擎中的白名單/黑名單支援。
- 使使用者字詞和使用者模式檔案適用於 LSTM 引擎。#2328
- 程式碼現代化和改進。
- 許多錯誤修正。
- 改進 CMake 組態。
- 預設停用 OpenMP 支援。這是在 CMake 建置中完成的,但在 Autotools 建置中並非如此,其中 OpenMP 仍然預設為啟用(請參閱例如 #1171、#1081)。
V4.0.0
2018 年 10 月 29 日
- 新的 OCR 引擎
- 新增了一個新的 OCR 引擎,使用基於 LSTM 的類神經網路系統,並大幅提高了準確性。
- 這包括 LSTM OCR 引擎的新訓練工具。可以從頭開始或透過微調現有模型來訓練新模型。
- 已將包含 LSTM 模型的訓練資料新增至 123 種語言。
- 新增 LSTM 辨識器的選用加速程式碼路徑
- 使用 OpenMP
- 使用 SIMD:AVX2 / AVX / SSE4.1
- 新增一個新的參數
lstm_choice_mode
,允許在 hOCR 輸出中包含替代符號選擇。
- 其他 OCR 引擎
- 先前版本中主要 OCR 引擎的模式比對 OCR 引擎在此版本中仍然可用。
- 從程式碼庫中移除了「Cube」OCR 引擎。它用於印地語和阿拉伯語。新的 LSTM 引擎效能更好,因此不再需要 Cube 引擎。
- 更新的建置系統
- Tesseract 現在使用 語意化版本控制。
- 新增一個選項,可以在不使用舊版 OCR 引擎程式碼的情況下編譯 Tesseract。
- 更新的需求
- 若要從原始碼建置 Tesseract,需要具有良好 C++11 支援的編譯器。
- Tesseract 現在需要 Leptonica 1.74.0 或更高版本。
- 將最低要求的 autoconf 版本更新為 2.63。
- 訓練工具相依性 - 更新最低要求版本:ICU 52.1、Pango 1.22.0。
- 錯誤修正和增強功能
- 修正許多觸發編譯器警告的問題。
- 修正 Coverity Scan 或 LGTM 報告的許多問題。
- 修正訓練資料渲染。
- 修正處理 PDF 時對二元影像的損壞。
- 不要在發佈程式碼中為重大錯誤觸發刻意的區段錯誤 (Commit 5338a5a8d)。
- 修正 OpenCL 程式碼中的一些問題。OpenCL 現在適用於舊版 Tesseract OCR 引擎,但不會提高效能。它未針對 LSTM OCR 引擎實作。
- 改進多頁 TIFF 處理。
- 改進 PDF 渲染。
- 為訓練工具新增版本資訊並改進說明文字。
- 新增 log2() 的更快版本。
- 在
tesseract
的 man page 中有說明,可以使用一個包含圖片清單的輸入文字檔案。 - 當請求 psm 0 時,將 'osd' 設為預設的 traineddata (目前此功能僅在命令列介面實作,而非在 API 中)。
- 從 hocr、pdf 和 tsv 設定檔中移除
tessedit_pageseg_mode 1
。如果需要,使用者應明確使用--psm 1
(Commit ecfee53ba)。 - 可用的語言和腳本列表現在按字母順序排序。
- 參數
unlv_tilde_crunching
已變更為false
,因為在 Tesseract 4 中,值為true
會導致問題 (#948, #1449)。 - 新增參數:
min_characters_to_try
。
- 其他雜項。
- 重新組織 Tesseract 的原始碼樹。大多數原始碼現在位於
src
目錄下。 - 將單元測試新增到主要儲存庫。單元測試需要 Git 子模組和訓練程式碼。
- 移除過時的程式碼。
- 重新組織 Tesseract 的原始碼樹。大多數原始碼現在位於
- 重要注意事項
- 新的 LSTM 引擎仍然不支援舊版傳統引擎的所有功能 (請參閱遺失的功能)。
- Tesseract 現在需要所謂的「C」地區設定。這主要影響 Tesseract 作為 Java 或 Python 等程式語言的函式庫使用時。地區設定 代表多種設定,這些設定取決於語言(或語言變體)或國家/地區。其中一些設定決定了符號的分類(例如「這個字元是否為空白(空格)字元?」)或數字的列印方式(例如「3.141」或「3,141」)。目前的 Tesseract 程式碼隱含地期望一些固定的設定,否則會失敗。因此,如果無法確定設定能正常運作,程式碼會在開始時就因斷言而失敗。這對於預設取得具有正確設定「C」地區設定的 C 或 C++ 程式來說,不是問題。目前所有其他使用案例都必須確保在執行 Tesseract 程式碼之前切換到「C」地區設定。在 4.1.0 版中已修復。
V3.05.02
2018 年 6 月 19 日
此版本修正了一些錯誤,這些錯誤是從 4.0.0 版本回溯移植的。
V3.05.01
2017 年 6 月 1 日
- 新增選項,可針對 PDF 輸出只渲染不可見的文字圖層 (而沒有完整的輸入影像)。
- 對 GenericVector 進行了一些最佳化。
- 修正了 –disable-graphics 的建置。
- 修正了 –enable-visibility 的建置 (包括訓練工具)。
- 修正了讀取以 ‘\r\n’ 作為換行符號的設定檔。
- OpenCL - 修正了一些問題。移除了大部分程式碼。
- 移除了無效的程式碼。
V3.05.00
2017 年 2 月 16 日
- Tesseract 現在需要 Leptonica 1.74.0 或更高版本。
- 對 hOCR 輸出進行了一些微調。
- 新增 TSV 作為另一個可選的輸出格式。
- 修正了 3.04.00 版中引入的 ABI 破壞,該破壞發生在 AnalyseLayout() 方法中。
- text2image 工具 - 啟用字型中所有可用的 OpenType 連字。此功能需要 Pango 1.38 或更新版本。
- 訓練工具 - 將 asserts 取代為 tprintf() 和 exit(1)。
- 修正了 Cygwin 相容性。
- 改進了多頁 TIFF 處理。
- 改進了嵌入式 PDF 字型 (pdf.ttf)。
- 啟用從命令列選擇 OCR 引擎模式。
- 將 tesseract 命令列參數 ‘-psm’ 變更為 ‘–psm’。
- 為方向和腳本偵測新增了新的 C API,移除了舊的 API。
- 將最低 autoconf 版本增加至 2.59。
- 移除了無效的程式碼。
- 修正了許多編譯器警告。
- 修正了記憶體和資源洩漏。
- 修正了 ‘Cube’ OCR 引擎的一些問題。
- 修正了一些 OpenCL 問題。
- 新增使用 CMake 建置系統來建置 Tesseract 的選項。
- 實作 CPPAN 支援,以便輕鬆建置 Windows。
V3.04.01
2016 年 2 月 16 日
- 為 psm 0 新增了 OSD 渲染器。適用於單頁和多頁影像。
- 改進了 tesstrain.sh 指令碼。
- 簡化了 ScrollView 的建置和執行。
- 改進了 OS X Preview 公用程式的 PDF 輸出。
- 對 hOCR 行高資訊進行了不相容的修正 - commit 134ebc3。
- 新增了在不使用 Cube OCR 引擎的情況下建置 Tesseract 的選項 (-DNO_CUBE_BUILD)。
- 該專案使用 Travis CI 和 AppVeyor 持續整合服務。
V3.04.00
2015 年 7 月 11 日
- Tesseract 的開發現在使用 Git 進行,並託管於 github.com (先前我們使用 Subversion 作為 VCS 和 code.google.com 作為託管)。
- Tesseract 現在需要 Leptonica 1.71 或更高版本。
- 移除了對 VS2008 的官方支援。
- 由於對 100 種語言進行了廣泛的測試,因此對訓練系統進行了重大更新。
- 為超過 100 種語言新增了新的訓練資料。新增了對 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。
- 改進了字型識別。
- 進行重大變更,以改進對大量附加符號語言的版面配置分析:泰語、越南語、卡納達語、泰盧固語等。
- 修正了基準線移位的問題,以便辨識可以從版面配置分析錯誤中恢復。
- 進行了重大重構,以提高困難影像的速度,尤其是在執行堆積檢查器時。
- 將參數從頁面配置中的全域移至 tesseractclass。
- 改進了單欄版面配置分析。
- 允許使用 tesseract 命令列可執行檔輸出多種格式的 OCR 結果。
- 修正了混合 eng+ara 腳本的問題。
- 改進了數字中的腳本一致性。
- 對 control.cpp 進行了重大重構,以啟用行辨識。
- 新增了 tesstrain.sh - 主要的訓練指令碼。
- 新增了 text2image 訓練工具的功能,可僅列出可用的字型。
- 新增了 text2image 為單字加上底線的功能。
- 提高了 PDF 輸出影像處理的效率。
- 為以 ‘print-parameters’ 命令列選項列出的每個參數新增了參數描述。
- 為 hOCR 輸出新增了字型資訊。
- 啟用了多頁文件的串流輸入和輸出。
- 許多錯誤修正。
V3.03(rc1)
2014 年 2 月 4 日
- Tesseract 現在需要 Leptonica 1.70 或更高版本。
- 新增了 OpenCL 支援 (實驗性)。
- 新增了新的訓練工具 text2image,以從文字和 TrueType 字型產生 box/tif 檔案對。
- 新增了對具有可搜尋文字的 PDF 輸出的支援。
- 移除了整個 IMAGE 類別以及影像目錄中的所有程式碼。
- Tesseract 可執行檔:支援輸出到 stdout;限制了從 stdin 輸出單頁影像的支援 (尤其是在 Windows 上)
- 將 Renderer 新增至 API,以允許文件層級處理和文件格式輸出,例如 hOCR、PDF。
- 對單字層級辨識、光束搜尋進行了重大重構,並移除了無效的程式碼。
- 重構了分類器,以便更容易新增新的分類器。
- 將特徵提取器通用化,以允許從灰階提取特徵。
- 改進了上標/下標的處理。
- 改進了基準線擬合。
- 在訓練工具中新增了 set_unicharset_properties。
- 許多錯誤修正。
- 包含更多訓練來源資料。
V3.02.02
2012 年 10 月 23 日
- Tesseract 現在需要 Leptonica 1.69 或更高版本。
- 將 ResultIterator/PageIterator 移至 ccmain。
- 在希伯來文/阿拉伯文的輸出迭代器中新增了由右至左/雙向功能。
- 在版面配置分析/OCR 後處理中新增了段落偵測。
- 修正了訓練期間和過度切割時不一致的 xheight。
- 新增了同時多語言功能。
- 重構了最上層單字辨識模組。
- 新增了實驗性的方程式偵測器。
- 改進了對輸入影像解析度的處理。
- 新增了用於錯誤分析的 Blamer 模組。
- 透過從 baseapi.h 中移除 include,清理了外部使用的命名空間。
- 移除了無效的記憶體管理程式碼。
- 整理了對控制參數的限制。
- 新增了對分類器和訓練中的 ShapeTable 的支援。
- 重構了類別修剪器。
- 修正了訓練洩漏和隨機性。
- 對版面配置分析進行了重大改進,以實現更好的影像偵測、附加符號偵測、更好的文字行尋找、更好的跳格點尋找。
- 改進了行偵測和移除。
- 為 CJK 新增了固定間距切割器。
- 將 UNICHARSET 新增至 WERD_CHOICE,以使多語言處理更容易。
- 修正了內部縮放影像的問題。
- 在 tr 檔案中為字串新增了頁面和 bbox,以更好地識別訓練資料的來源。
- 修正了印度語 Shiroreka 分割器。
- 新增了單字雙字母組校正。
- 減少了堆疊記憶體消耗,並消除了一些醜陋的 typedef。
- 新增了新的統一分類器 API。
- 新增了新的訓練錯誤計數器。
- 修正了 dawg 讀取器中的位元組順序錯誤。
- C API (感謝 Tobias Müller)
- VS 2008 的新解決方案 (感謝 Tom Powers)
- 修正了切割器尋找切割方式並在執行此操作時干擾外框的方式。
- 許多其他修正。
V3.01
2011 年 10 月 21 日
- 執行緒安全!將所有重要的全域和靜態變數移至適當類別的成員。Tesseract 現在是執行緒安全的 (多個執行個體可以在多個執行緒中平行使用),但有一個小例外,某些控制參數仍然是全域的,並且會影響所有執行緒。
- 新增了
Cube
,這是一個新的阿拉伯文和印度文實驗性辨識器。Cube 也可以與正常的 Tesseract 結合使用於其他幾種語言,可在犧牲速度的情況下稍微提高準確性。沒有 Cube 的訓練模組。 Init
中的OcrEngineMode
取代了AccuracyVSpeed
以控制 cube。- 大幅改進了分段搜尋,從而提高了準確性和速度,尤其是在中文方面。
- 新增了
PageIterator
和ResultIterator
作為從 Tesseract 取得完整結果的更清晰方法,這些結果目前不由任何TessBaseAPI::Get*
方法提供。所有其他方法,尤其是ETEXT_STRUCT
已被棄用,並且將在未來刪除。 - ApplyBoxes 已完全重寫,以使訓練更容易。它現在可以處理接觸/重疊的訓練字元,並且新的 boxfile 格式允許單字方塊而不是字元方塊,但是若要使用此功能,您必須已經使用字元方塊引導了該語言。「在 traineddata 上產生循環相依性。」
- 在版面配置分析中新增了自動方向和腳本偵測。
- 刪除了許多無效的程式碼。
- fixxht 模組已取代為可擴展的資料驅動模組。
- 提高了輸出字型特性的準確性。
- 移除了每次分類時的雙重轉換。
- 將最舊的結構升級為類別,並棄用了 PBLOB。
- 移除了非決定性的基準線擬合。
- 為中文新增了固定長度 dawg。
- 改進了垂直文字的處理。
- 改進了前導點的處理。
- 大幅改進了表格偵測。
- 修正了一些記憶體洩漏。
- 修正了輸出文字上的字型標籤。(雖然不完美,但比以前好很多。)
- 清理和更多錯誤修正
- 印度文的特殊處理。
- 支援使用適用於 Windows 7 的 Microsoft Windows SDK 在 VS2010 中進行建置 (感謝 Michael Lutz)
V3.00
2010 年 9 月 30 日
- 為執行緒安全做準備
- 將 TessBaseAPI 方法變更為非靜態
- 為目錄建立類別階層以保存執行個體資料,並開始將程式碼移至類別中。
- 將閾值化程式碼移至單獨的類別。
- 新增了主要的新頁面版面配置分析模組。
- 新增了 hOCR 輸出。
- 新增 Leptonica 作為主要的影像 I/O 與處理方式。目前為選擇性,但未來版本將強制連結 Leptonica。
- 改寫了歧義表,允許直接替換,取代 fix_quotes 的功能。
- 新增 TessdataManager,將資料檔案合併為單一檔案。
- 刪除了一些無效的程式碼。
- 不再支援 VC++6。它無法處理樣板的使用。
- 新增了更多語言。
- 為大多數函式標頭註解進行 Doxygen 化。
V2.04
2009年6月30日
- 整合了移植性修正程式,並移除了一些「存取」巨集。
- 移除檢視器對 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,解決了許多無法顯示有意義的錯誤訊息的問題。
V2.03
2008年4月22日
2.02 版本由於最後一刻的「簡單」變更而無法執行。2.03 版本修正了這個問題。它還新增了對 leptonica 的包含檢查,使其更易於使用。
V2.02
2008年4月21日
- 改進了分群、訓練和分類器。
- 針對大型字元集語言(例如卡納達語)進行了重大的國際化改進。
- 移除了一些編譯器警告。
- 新增了用於訓練和執行的多頁 tiff 支援。
- 更新了圖形輸出,以便與新的 Java 檢視器通訊。
- 新增了儲存 n-best 清單的功能。
- 新增了 Leptonica 對更多檔案類型的支援。
- 改進了 Init/End,使其更安全。
- 減少了字典的記憶體使用量。
- 在 TessBaseAPI 中新增了一些新的 API。
- 修復了與 jpeg 函式庫 (INT32) 的命名空間衝突。
- 針對新程式碼進行 Windows 的可攜性修正。
- 更新了新程式碼的 autoconf 系統。
V2.01
2007年8月30日
(有關使用資訊,另請參閱下方 2.00 的發行說明)
沒有主要功能變更。只是一堆錯誤修正。
- 修復了 box 檔案讀取器的 UTF8 輸入問題。
- 修復了 dawg 程式碼中的各種無限迴圈和崩潰。
- 從 host.h 中移除了 config_auto.h 的包含。
- 在 unicharset_extractor 中新增了自動 wctype 編碼。
- 修復了 dawg 表格過滿的錯誤。
- 從 tarball 中移除了 svn 檔案。
- 在 tessdll 中新增了新的函式。
- 將分類結果中最大的 utf8 字串增加到 8 個。
- 為 Ocropus 在 TessBaseAPI 中新增了新功能。
原始的 6 種語言沒有新的資料檔案。請使用 v2.00 的檔案。德語 Fraktur (deu-f) 和巴西葡萄牙語 (por) 有新的資料檔案。
最新消息 unicharset_extractor 中有一個小錯誤。由於這僅適用於訓練,因此除非您需要執行訓練,否則主要的 tarball 是正常的,在這種情況下,請將您的 unicharset_extractor.cpp 和 unicharset_extractor.exe 覆蓋為 tesseract-2.01.patch1.tar.gz 中的檔案。
V2.00
2007年7月18日
(有關其他使用資訊,另請參閱下方 1.04 的發行說明)
國際版本的第一個發行版本。此版本可辨識以下語言:
- 英文 - eng
- 法文 - fra
- 義大利文 - ita
- 德文 - deu
- 西班牙文 - spa
- 荷蘭文 - nld
語言代碼遵循 ISO 639-2。預設語言為英文。若要辨識其他語言
tesseract inputimage outputbase -l langcode
若要在新語言上進行訓練,請參閱 TrainingTesseract2。隨著時間的推移,將會出現更多語言。
此版本中的變更清單
- 將內部字元處理轉換為 UTF8。
- 使用 6 種語言進行訓練。
- 新增 unicharset_extractor、wordlist2dawg。
- 新增 boxfile 建立模式。
- 新增 UNLV 迴歸測試功能。
- 修復了版權和註冊符號的問題。
- 修復了 extern "C" 宣告問題。
- 針對跨平台的準確性一致性進行了一些改進。
- 新增 VC++ express 支援。
警告: Tesseract 2.00 版本經過比以往任何版本都多的相容性測試。甚至還進行了一些修正,以使跨平台的準確性更加一致。話雖如此,程式碼進行了許多變更,可攜性可能會被破壞,因此 64 位元和 Mac 平台可能無法像以前一樣運作或甚至建置。
V1.04
2007年5月15日
Tesseract 的開發現在使用 Subversion 進行,並託管在 code.google.com 上(之前我們使用 CVS 作為 VCS,並使用 sourceforge.net 進行託管)。
僅限 Windows 使用者
新增了 Windows 的 dll 介面。感謝 Jetsoft 的 Glen 提供此介面。若要使用 dll,請包含 tessdll.h、匯入 tessdll.lib,並將 tessdll.dll 放在系統可以找到的位置。還有一個小的 dlltest 程式來測試 dll。使用以下方式執行:
dlltest phototest.tif phototest.txt
它將輸出 phototest.tif 的文字以及邊界框資訊。
Windows 的新功能
此發行版本現在包含 tesseract.exe 和 tessdll.dll,它們**可能**可以直接使用!由於您需要 VC++6 版本的 MFC 和 CRT(至少),才能使其運作,因此沒有任何保證。(不包含電池,當然也沒有 installshield。)
使用 make 建置的任何人的重要注意事項:也就是說,除了 devstudio 使用者之外的任何人
此發行版本包含資料目錄的新標準。若要讓 Tesseract 找到其資料檔案,您必須
./configure
make
make install
將資料檔案移動到標準位置,或
export TESSDATA_PREFIX="directory in which your tessdata resides/"
(或等效)在您的 .profile 或其他檔案中,或設定環境變數 setenv。請注意,目錄必須以 / 結尾
將 tesseract 和 tessdata 放在同一個目錄中已不再有效。
所有使用者
修復了一堆名稱衝突 - 主要與 STL 發生衝突。針對 Unicode 相容性進行了一些初步變更。包含一個新的資料檔案 (unicharset),並將其他資料檔案重新命名為 eng.,以支援不同的語言。還有一些其他次要的錯誤修正和 針對 64 位元、最新的 Visual Studio 編譯器等的移植性改進。
感謝所有貢獻這些修正的人。
注意:這很可能是最後一個僅限英文的版本!對於因為 Windows 可執行檔而導致發行版本膨脹的非 Windows 使用者,在此先表示歉意。這很可能會在下一個包含多語言功能的版本中得到修復,因為這也會使發行版本膨脹。
V1.03
2007年2月3日
- 新增 mftraining 和 cntraining。
- 新增 baseapi,其中包含用於灰階和彩色的自適應閾值。
- 修復了許多記憶體洩漏。
- 修復了一些錯誤,包括未使用自適應分類器。
- 新增 ifdef 以消除圖形程式碼並新增嵌入式平台支援。
- 整合了一些修補程式,包括 64 位元建置、Mac 建置。
- 次要的準確性改進。
V1.02
2006年10月4日
- 移除了對 Aspirin 的依賴。
- 修復了一些遺失的 Apache 授權標頭。
- 移除了 $log。
V1.01
2006年9月7日
- 為 VC++ 新增了 mfcpch.cpp 和 getopt.cpp。
- 修復了灰階影像和沒有 libtiff 的問題。
- 停止將偵錯視窗用於用法輸出。
- 修復了 big-endian 架構的 inttemp 載入。
- 修復了一些 Mac 編譯問題。
V1.00
2006年6月17日
Tesseract 的第一個開源版本!
託管於 sourceforge.net。CVS 用於版本控制。