在本例中,我們將展示如何使用Tesseract OCR庫識別簡單的圖像。Tesseract是由谷歌開發的開放源代碼的OCR引擎。以下是我們的PHP代碼:
function recognizeText($imagepath) { $command = "tesseract $imagepath stdout"; $output = shell_exec($command); return $output; }
在這個例子中,我們使用Tesseract OCR庫和命令行工具來識別圖片中的文本。我們調用了shell_exec函數來執行外部命令。注意,我們使用的是stdout參數,以便從命令的輸出中獲取識別的文本。現在,我們可以調用該函數并傳遞包含圖像路徑的變量:
echo recognizeText('example.png');
Tesseract還具有針對不同語言的模型。例如,如果您需要識別中文,可以使用chi_sim模型。以下是我們如何修改我們的識別函數以使用該模型:
function recognizeText($imagepath) { $command = "tesseract --psm 6 -l chi_sim $imagepath stdout"; $output = shell_exec($command); return $output; }
我們在命令中添加了參數--psm 6。這告訴Tesseract OCR庫我們正在使用一張包含一個或多個行的文本圖像。我們還在命令中添加了參數-l chi_sim。這告訴Tesseract使用中文簡體識別模型。現在,我們可以像以前一樣調用函數,只需傳遞包含中文圖像路徑的變量即可。
還有一種稱為OCRopus的OCR引擎。它使用Python編寫,與Tesseract類似,也是一個開源的OCR引擎。以下是使用OCRopus庫來識別文本的PHP代碼:
function recognizeText($imagepath) { $command = "ocroscript recognize $imagepath"; $output = shell_exec($command); return $output; }
在這個例子中,我們使用ocroscript命令來識別圖像中的文本。ocroscript是一個Python腳本,它可以識別多頁PDF和TIFF圖像。注意,我們沒有使用--psm或-l選項,因為OCRopus自動檢測文本的方向和語言。現在我們可以調用該函數并傳遞包含圖像路徑的變量:
echo recognizeText('example.png');
OCR PHP程序絕對是一個方便的工具,而且輕松上手。無論您是需要轉換紙質文檔到數字文檔的人士,還是需要從筆記中進行語音識別,OCR PHP程序都是您的得力幫手。