亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Tesseract.js使用純js實(shí)現(xiàn)的OCR文字識(shí)別

 更新時(shí)間:2023年10月21日 11:30:36   投稿:yin  
Tesseract.js是流行的Tesseract OCR引擎的純Javascript端口,這個(gè)庫(kù)支持100多種語(yǔ)言,自動(dòng)文本定位和腳本檢測(cè),一個(gè)簡(jiǎn)單的界面,用于閱讀段落、單詞和字符邊界框,Tesseract.js既可以在瀏覽器中運(yùn)行,也可以在帶有NodeJS的服務(wù)器上運(yùn)行

Tesseract.js是流行的Tesseract OCR引擎的純Javascript端口。這個(gè)庫(kù)支持100多種語(yǔ)言,自動(dòng)文本定位和腳本檢測(cè),一個(gè)簡(jiǎn)單的界面,用于閱讀段落、單詞和字符邊界框。Tesseract.js既可以在瀏覽器中運(yùn)行,也可以在帶有NodeJS的服務(wù)器上運(yùn)行。

Tesseract簡(jiǎn)介

Tesseract 的最新版本第 4 版于 2018 年 10 月發(fā)布,它包含一個(gè)新的 OCR 引擎,該引擎使用基于長(zhǎng)短期記憶(LSTM) 的神經(jīng)網(wǎng)絡(luò)系統(tǒng),旨在產(chǎn)生更準(zhǔn)確的結(jié)果。

Tesseract.js 一個(gè)幾乎能識(shí)別出圖片中所有語(yǔ)言的JS庫(kù)。

官網(wǎng):http://tesseract.projectnaptha.com/

git:https://github.com/naptha/tesseract.js

使用方法

先安裝好tesseract

npm安裝命令:npm install tesseract.js
安裝好tesseract后,在node_modules中會(huì)出現(xiàn)兩個(gè)文件夾

使用script標(biāo)簽導(dǎo)入js

從tesseract.js文件夾中獲取tesseract.min.js和work.min.js兩個(gè)文件

從tesseract.js-core文件夾中獲取tesseract-core.wasm.js文件

準(zhǔn)備一張帶有文字的圖片

提取圖片文字

在不設(shè)置語(yǔ)言的情況下,默認(rèn)為英文語(yǔ)言包

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>圖片轉(zhuǎn)文字</title>
		<script src="./js/tesseract.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="text">
			
		</div>
		<script type="text/javascript">
			const {
				createWorker
			} = Tesseract;
			const worker = createWorker({
				workerPath: './js/worker.min.js',   // 從上面獲取到的文件
				langPath: './lang-data',   // 語(yǔ)言包相對(duì)位置, 如果沒有默認(rèn)為英文
				corePath: './js/tesseract-core.wasm.js',   // 從上面獲取到的文件
			});
			(async () => {
				await worker.load();  // 加載
				await worker.loadLanguage('eng');  // 加載英文的語(yǔ)言包
				await worker.initialize('eng');  // 加載英文的語(yǔ)言包
				const {
					data: {
						text
					}
				} = await worker.recognize('./img/4.png');  //需要解析的圖片
				console.log(text);
				document.getElementById('text').innerText = text;
				await worker.terminate();
			})();
		</script>
	</body>
</html>

ps:在tesseract解析圖片中的文字時(shí),遇到不同國(guó)家的文字就可能解析出錯(cuò)。

tesseract.js識(shí)別中文

更改語(yǔ)言包關(guān)于語(yǔ)言包的下載,可以從碼云上查找tessdata進(jìn)行下載。
可提供參考地址:
https://tesseract-ocr.github.io/tessdoc/Data-Files
https://gitee.com/zealzheng/tessdata_fast?_from=gitee_search

這個(gè)tesseract.js的離線版本,只支持對(duì)英文的識(shí)別,不支持中文,如果你放一張中文的圖片,會(huì)發(fā)現(xiàn)識(shí)別的結(jié)果是一堆亂碼。
這里需要修改其中的代碼,同時(shí)要去官網(wǎng)上下載對(duì)應(yīng)的中文語(yǔ)言識(shí)別包。

1.下載中文識(shí)別包

tesseract.js的語(yǔ)言包下載地址為https://github.com/naptha/tessdata/tree/gh-pages/4.0.0
進(jìn)入該網(wǎng)址,下載對(duì)應(yīng)的中文語(yǔ)言包,具體名稱為chi_sim.traineddata.gz

下載完成后,將該文件放到tesseract.js-offline-master\lang-data文件夾下,該文件夾存放了所有語(yǔ)言識(shí)別包文件。

2.修改相應(yīng)的代碼,實(shí)現(xiàn)識(shí)別中文

修改代碼,程序邏輯很簡(jiǎn)單:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Tesseract.js Offline</title>
  <script src="../node_modules/tesseract.js/dist/tesseract.min.js"></script>
  <script>
    const { createWorker } = Tesseract;
    const worker = createWorker({
      workerPath: '../node_modules/tesseract.js/dist/worker.min.js',
      langPath: '../lang-data',
      corePath: '../node_modules/tesseract.js-core/tesseract-core.wasm.js',
      logger: m => console.log(m),
    });

    (async () => {
      await worker.load();
      await worker.loadLanguage('chi_sim');
      await worker.initialize('chi_sim');
      const { data: { text } } = await worker.recognize('./img/4.png');
      //這里我使用了我自己的圖片目錄,
      //在實(shí)際使用時(shí)需要改成你自己的圖片路徑
      console.log(text);
      await worker.terminate();
    })();
  </script>
</head>
<body>
</body>
</html>

總結(jié)

Tesseract 支持的圖像格式是 jpg、png、bmp 和 pbm,它們只能作為元素(img、視頻或畫布)、文件對(duì)象 ( <input>)、blob 對(duì)象、圖像的路徑或 URL 和 base64 編碼圖像提供。語(yǔ)言以字符串形式提供,例如eng. 該+符號(hào)可用于連接多種語(yǔ)言,如eng+chi_tra. 語(yǔ)言參數(shù)用于確定要在圖像處理中使用的訓(xùn)練語(yǔ)言數(shù)據(jù)。

到此這篇關(guān)于Tesseract.js使用純js實(shí)現(xiàn)的OCR文字識(shí)別的文章就介紹到這了,更多相關(guān)Tesseract.js實(shí)現(xiàn)OCR文字識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論