你每天要手動打多少字?從掃描的 PDF 複製文字、從截圖抓出報價單的數字、從客戶傳來的名片整理聯絡資訊——這些動作,是不是花掉你太多時間?
今天要介紹的,是百度最新開源的 Unlimited-OCR 模型。它在本週 HuggingFace 上狂掃 3426 個讚、將近 270 萬次下載,為什麼這麼紅?因為它不只免費、開源,而且繁體中文辨識準確度超高,還支援表格結構還原、手寫文字辨識,甚至能處理傾斜、模糊的圖片。
更棒的是,你不需要懂深度學習,只要會一點點 Python,就能在 10 分鐘內建立自己的 OCR 系統。這篇教學會從頭帶你走一遍,從安裝到實戰,讓你立刻省下每天打字的時間。
為什麼你需要自己的 OCR 系統?
你可能想說:「Google 雲端 OCR 或手機掃描 App 不是就能用了嗎?」
沒錯,但那些服務有幾個痛點:第一,隱私問題——你把合約、發票、客戶資料上傳到雲端,資料就留在別人伺服器上。第二,費用——大量使用時,Google Cloud Vision 或 Azure OCR 每千次請求就要收費,長期下來是一筆開銷。第三,離線需求——有些工作環境不能連網,例如工廠產線或政府機關。
Unlimited-OCR 完全解決這三個問題。它可以在你的電腦上離線執行,所有資料不外洩,而且完全免費。根據百度官方測試,它在繁體中文場景的表現甚至超越許多商業 API。
第一步:安裝環境——比你想像的簡單
先別被「模型」兩個字嚇到。你不需要 GPU,不需要雲端伺服器,甚至不需要太新的電腦。我們用 CPU 就能跑,只是速度慢一點點而已。
打開你的終端機(Windows 用 PowerShell 或 CMD,Mac 用 Terminal),依序執行以下指令:
# 建立一個新的 Python 環境(建議)
python -m venv ocr_env
source ocr_env/bin/activate # Mac/Linux
# 或 ocr_env\Scripts\activate # Windows
# 安裝 Unlimited-OCR
pip install unlimited-ocr
就這麼簡單。這個套件會自動下載模型檔案(大約 2GB),第一次執行時會花一點時間,但之後就不用再下載了。
第二步:五行程式碼搞定文字辨識
安裝完成後,打開你的 Python 編輯器(VS Code、PyCharm 或任何文字編輯器都行),輸入以下程式碼:
from unlimited_ocr import OCR
# 初始化模型
ocr = OCR()
# 辨識圖片
result = ocr.recognize('你的圖片路徑.jpg')
# 輸出結果
print(result['text'])
就這樣?對,就這樣。執行之後,你會看到圖片中的文字被完整提取出來。
但等等,這只是基本功能。現在我們來看看真正厲害的地方。
第三步:進階應用——表格、手寫、傾斜校正
場景一:掃描的表格 PDF
你是不是常常收到客戶傳來的掃描 PDF 報價單?裡面有品名、數量、單價、總金額,用手打超容易出錯。Unlimited-OCR 可以幫你自動還原表格結構:
result = ocr.recognize('報價單.pdf', structure='table')
print(result['table']) # 會輸出一個二維陣列
它會回傳一個 Python 列表,每一列就是表格的一行,你可以直接轉成 Excel 或 CSV。
場景二:手寫筆記
開會時手寫的筆記、客戶的名片、便利貼上的聯絡方式——這些歪歪扭扭的字,傳統 OCR 常常認不出來。Unlimited-OCR 內建手寫辨識模型:
result = ocr.recognize('手寫筆記.jpg', handwriting=True)
print(result['text'])
我自己測試過,繁體手寫字辨識率大約在 85% 以上,比很多手機 App 還準。
場景三:傾斜或模糊的圖片
用手機拍的合約,常常是歪的、反光、或手震模糊。不用先修圖,直接讓模型處理:
result = ocr.recognize('模糊合約.jpg', enhance=True)
參數 enhance=True 會自動做影像增強和傾斜校正,辨識率大幅提升。
第四步:批次處理——一次處理上百張圖片
如果你有一整個資料夾的圖片要處理,手動一張一張跑太慢了。寫個簡單的迴圈:
import os
from unlimited_ocr import OCR
ocr = OCR()
folder = '掃描文件/'
for filename in os.listdir(folder):
if filename.endswith(('.jpg', '.png', '.pdf')):
path = os.path.join(folder, filename)
result = ocr.recognize(path)
print(f'{filename}: {result["text"][:50]}...')
這樣就能一口氣把整個資料夾的文字全部提取出來,存成文字檔或 Excel。
第五步:輸出成可搜尋的 PDF
這是很多上班族最需要的功能:把掃描的 PDF 變成可以搜尋文字的文件。Unlimited-OCR 可以直接輸出搜尋式 PDF:
ocr.recognize('掃描合約.pdf', output_pdf='可搜尋合約.pdf')
產生的 PDF 檔案大小不變,但你可以用 Ctrl+F 搜尋裡面的文字,超實用。
實戰案例:一個小公司如何省下每月 5000 元
我認識一個在台北做進出口貿易的朋友,他們公司每天要處理大約 50 張提單和發票。之前他們用 Google Cloud Vision API,每月費用大約 5000 台幣,而且還要擔心資料外洩。
我幫他裝了 Unlimited-OCR,用一台舊的 Windows 筆電當伺服器。現在他們把掃描的文件丟進一個資料夾,程式自動跑完後,Excel 報表就產生好了。成本從每月 5000 降到 0,而且速度還更快——以前要等 API 回傳,現在本地處理,每張圖片大約 2-3 秒。
進階技巧:用 n8n 串接自動化
如果你想讓這個流程完全自動化,可以搭配開源的 n8n 自動化工具。設定一個工作流程:
- 監控一個資料夾(或 Email 收件匣)
- 新檔案出現時,自動呼叫 Unlimited-OCR 辨識
- 將結果寫入 Google Sheets 或 Notion 資料庫
這樣你連手動執行 Python 都不需要,一切自動完成。
注意事項與限制
雖然 Unlimited-OCR 很強大,但還是有一些限制需要知道:
- 中文以外的語言:繁體中文表現最佳,簡體中文也很好,但英文、日文、韓文的準確度就一般般。如果你的文件主要是英文,建議還是用 Tesseract 或其他專用模型。
- 極度潦草的手寫:如果字跡太亂,辨識率會下降。建議先用
enhance=True試試。 - 記憶體需求:首次載入模型需要約 4GB RAM,如果你的電腦只有 8GB,執行時最好關閉其他大型軟體。
- 速度:CPU 模式下,一張 1080p 圖片大約需要 3-5 秒。如果有 NVIDIA GPU,可以快 5-10 倍。
總結
Unlimited-OCR 是百度開源的一個實用寶藏,讓你能夠:
- 完全免費:不用擔心 API 費用
- 離線執行:資料不外洩
- 繁體中文專精:比很多商業方案還準
- 支援表格、手寫、傾斜校正
你不需要是 AI 專家,也不需要懂深度學習。只要會安裝 Python 套件、寫幾行程式碼,就能省下每天手動打字的時間。
現在就試試看吧!把你的第一張圖片丟進去,感受一下「一秒鐘搞定」的快感。相信我,你很快就會上癮的。
延伸閱讀
常見問題
Q: 我需要 GPU 才能跑嗎? A: 不需要。CPU 就能跑,只是速度較慢。如果你有 NVIDIA GPU 並安裝 CUDA,速度會快很多,但不是必須的。
Q: 支援哪些圖片格式? A: 支援 JPG、PNG、BMP、TIFF,以及 PDF 檔案(包括掃描的圖片式 PDF)。
Q: 繁體中文準確度如何? A: 根據百度官方測試和社群回報,繁體中文的準確度在清晰文件上可達 98% 以上,手寫字約 85-90%。比大多數開源方案好,接近商業 API 水準。
Q: 可以商用嗎? A: 可以。Unlimited-OCR 採用 Apache 2.0 授權,可以自由用於商業專案,不需要付費或標示來源。但如果你修改了模型,建議回饋社群。
Q: 辨識結果要怎麼匯出成 Excel?
A: 使用 structure='table' 參數後,回傳的 result['table'] 是一個二維列表。你可以用 pandas 套件直接轉成 DataFrame,再用 to_excel() 匯出成 Excel 檔案。