? Github Star: 34.3k[1]
? 官網[2]
Tesseract.js
是一個基于 JavaScript
的開源 OCR
(光學字符識別)引擎。
Tesseract.js 是什么?
Tesseract.js
是一個純 JavaScript
庫,它提供了在瀏覽器中運行 Tesseract OCR
(光學字符識別)引擎的能力。由 Google
維護的開源 OCR
引擎,可以識別多種語言的文本,包括自動文本方向和腳本檢測,以及提供簡單的接口來讀取段落、單詞和字符的邊界框。通過 Tesseract.js
可以在不依賴服務器的情況下,直接在客戶端瀏覽器中處理圖像中的文本識別任務。具有以下特點:
? 多語言支持:支持超過 100 種語言的文字識別,覆蓋了全球大部分的文字系統,包括英文、中文、法文、德文等。
? 簡單易用的 API:提供了簡潔的 API,使得實現基本的 OCR 功能變得簡單。
? 高度可定制:支持設置識別語言、識別模式等參數,還提供了多頁識別、手寫字體識別等高級功能。
? 實時識別:支持靜態圖像識別以及視頻流的實時文字識別。
快速開始
安裝
安裝 Tesseract.js
可以通過 CDN
或 npm/yarn
進行。
npm install tesseract.js
# yarn
yarn add tesseract.js
在瀏覽器中,可以直接通過 CDN
引入 Tesseract.js
,或者在 Node.js
項目中通過 npm
安裝。
入門示例
安裝完成后,需要引入 Tesseract.js
,可以使用 ES6 的 import
語法引入。下面使用 import
語法引入的示例。
// 從 Tesseract 庫中解構出 createWorker 函數
import { createWorker } from "tesseract.js";
// 獲取按鈕元素
const btn = document.querySelector('#btn')
// 為按鈕添加點擊事件監聽器
btn.addEventListener('click', async () => {
// 獲取圖片元素
const image = document.querySelector('img')
// 創建一個 Tesseract worker,使用中文簡體識別模型
const worker = await createWorker('chi_sim')
// 使用 worker 識別圖片中的文字
const result = await worker.recognize(image)
// 在控制臺輸出識別結果
console.log(result.data.text)
// 將識別結果顯示在頁面上
document.querySelector('#result').innerHTML = result.data.text
// 終止 worker,釋放資源
worker.terminate()
})
通過簡單的幾行代碼,實現中文圖片的 OCR
文字識別,看效果識別率還是挺高的。
更多功能
上面我們只是簡單演示了 Tesseract.js
如何識別中文的。他還是支持更多高級的功能。如多語言識別、自定義識別參數、PDF 輸出等。它還進行了多項性能優化,包括文件大小優化、內存使用優化和并行處理支持。
識別效果受到圖片質量、文字清晰度、字體樣式等多種因素的影響。因此,在實際應用中,你可能需要對圖片進行預處理(如裁剪、旋轉、縮放、增強對比度等)以提高識別準確率。
總結
Tesseract.js
是一個功能強大、易于使用的 OCR
庫,具有廣泛的應用場景和廣闊的發展前景。希望本期推薦能幫到你!
祝好!
引用鏈接
[1]
Github Star: 34.3k: https://github.com/naptha/tesseract.js
[2]
官網: https://tesseract.projectnaptha.com/
該文章在 2024/10/11 8:59:56 編輯過