部落格

如何讓截圖的 OCR 辨識結果更準確

發佈於 · OCR, 文字辨識, 技巧, 準確度

如何讓截圖的 OCR 辨識結果更準確

文字辨識的品質取決於你餵給它多少像素。框緊文字、保留解析度、避開傾斜與雜亂背景,並認清語言限制。

OCR 這些年進步很多,但它跟人類讀者一樣,還是遵循同一條規則:清楚、筆直、光線充足的文字很好讀;壓在花紋上、又小又歪的文字則不然。按下 OCR 前養成幾個習慣,就能決定你拿到的是乾淨的複製內容,還是一串猜測。

框緊文字,不要連周邊一起框

辨識器只處理你選取的區域。文字周圍多餘的介面元素會形成雜訊:圖示、邊框和標籤可能被誤讀成字元,或把一行文字切開。

  • 框選文字區塊時只留一點邊距,不要整個視窗都框。
  • 如果兩欄文字並排,請分開擷取;框得太寬會把跨欄的文字併成同一行。
  • 只要單一數值時,就只框那個數值連同它的標籤。

保留解析度

OCR 需要像素。為了塞進聊天視窗而縮小的截圖,可能小到讀不出來。

  • 以 100% 或更高的縮放比例擷取,而不是先把頁面縮小。
  • 在 Retina 顯示器上,擷取的是實際像素,這有幫助。
  • 如果來源是影片或照片,先暫停或放大再擷取;不要把模糊的圖片放大後,還指望 OCR 能還原細節。

避免傾斜與透視變形

斜著跑的文字行比較難切分。如果是翻拍螢幕的照片,先到編輯器的裁剪檢視把畫面轉正,再執行 OCR。如果是截圖,文字本來就是水平的,之後不要再把它旋轉。

讓文字有足夠對比

OCR 靠邊緣來分辨字元。遇到以下情況會很吃力:

  • 白底上的淺灰字,或黑底上的深灰字。
  • 文字背後是照片或漸層。
  • 螢光筆或標注蓋住了部分文字行。

如果對比太差,就從對比更好的狀態重新擷取。你也可以把文字行周圍的雜亂背景裁掉,只留下文字和一條乾淨的區域。

對截圖執行 OCR · 1280 × 800

了解語言限制

InSnap 的 OCR 在本機執行,中文、英文與拉丁字母語言都處理得不錯,包含帶重音的字元。日文假名、韓文與俄文則無法可靠辨識;碰到這些語言,別承諾能拿到乾淨的複製結果。藝術字型、手寫字與裝飾性字體,也不在它擅長的範圍內。

如果文件混用多種語言,只對你需要的部分執行 OCR,並實際核對結果,不要假設整段都正確。

檢查容易看錯的字元

再好的 OCR 也會混淆:

容易混淆範例
數字零與字母 O0 vs O
數字一、小寫 l、直線符號1 vs l vs ``
字母 S 與數字 5S vs 5
逗號與句點1,000 vs 1.000

身分證號、訂單編號、程式碼和價格,務必把複製的文字跟原圖對照。發票號碼錯一個數字,比重新打那一行還糟。

用放大鏡看清細節

OCR 前的檢查清單

檢查項目原因
文字是正的嗎?傾斜會破壞行的切分
在螢幕上夠大嗎?OCR 需要像素
背景乾淨嗎?花紋會變成雜訊
對比夠強嗎?邊緣決定字元輪廓
語言支援嗎?假名、韓文與俄文無法可靠辨識
有只框一個區塊嗎?分欄與混雜的介面會干擾版面判讀

常見問題

為什麼明明看得很清楚的一行,OCR 卻漏掉了?

那一行可能太小、有傾斜、對比不足,或使用了辨識器處理不好的文字系統。框近一點、用更高的縮放比例擷取,並確認該語言是否支援。

OCR 能讀取翻拍螢幕的照片嗎?

有時候可以,前提是照片清晰、文字是正的。透視變形和反光通常會降低準確度;先在編輯器裡把畫面轉正、把範圍框緊,再執行 OCR。

OCR 可以離線使用嗎?

可以。辨識在你的電腦上執行,文字不會離開本機。代價是模型支援的文字系統有限,詳見上面的語言限制。

下一張截圖,只要一個快速鍵。

macOS 14.4+(Apple 晶片與 Intel)· Windows 10+(64 位元)