首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

PHP 圖片文字辨識 (OCR) 實作方案與工具推薦

     編輯:程式設計綜合問答

PHP 本身不具備光學字元辨識 (OCR) 能力,需呼叫外部程式或雲端 API。常見方案包括:安裝 Tesseract OCR 命令列工具並用 exec() 呼叫、使用 PHP 包裝套件(如 thiagoalessio/tesseract_ocr)、或整合雲端 OCR 服務(Google Cloud Vision、百度 AI、阿里雲 OCR 等)。

方案一:本地 Tesseract OCR(開源、免費、離線)

  1. 伺服器安裝 Tesseract:
    apt-get install tesseract-ocr tesseract-ocr-chi-sim (Ubuntu,含簡體中文語言包)
  2. PHP 呼叫:
$imagePath = '/path/to/image.png';
$output = shell_exec("tesseract {$imagePath} stdout -l chi_sim+eng");
echo $output; // 辨識出的文字

或使用 Composer 套件:

composer require thiagoalessio/tesseract_ocr

// 程式碼
use thiagoalessio\TesseractOCR\TesseractOCR;
$text = (new TesseractOCR($imagePath))
    ->lang('chi_sim+eng')
    ->run();

方案二:雲端 OCR API(準確度高、免維運、按量付費)

  • 百度 AI 開放平台:通用文字識別、身份證識別等,免費額度充足,PHP SDK 完善。
  • 騰訊雲 OCR:支援多種票證、文檔識別。
  • Google Cloud Vision / AWS Textract:國際專案首選,準確度極高。

範例(百度):

$client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
$result = $client->basicGeneral(file_get_contents($imagePath));
print_r($result);

選型建議

維度本地 Tesseract雲端 API
準確度(中文)中等,需訓練模型提升高,持續優化
速度本地 CPU 運算,較慢毫秒級,非同步可並發
成本免費(硬體成本)按量付費,有免費額度
隱私資料不出伺服器需上傳圖片至第三方
維運自行管理環境、語言包零維運

前置處理提升辨識率

  • 影像二值化、去噪、斜率校正、裁剪去邊框。
  • PHP 可用 Imagick 或 GD 擴充套件做簡單預處理。

根據專案預算、隱私要求、即時性選擇適合的 OCR 方案,並搭配影像前置處理,能大幅提升辨識準確度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved