相機 OCR:指向、拍攝、翻譯

Last updated: 2026-09-03

相機 OCR 使用本地分叉的 vision_text_recognition 套件執行 OCR,支援拉丁文、中文(簡體和繁體)、日文和韓文字型。識別過程無需上傳任何內容。OCR 引擎返回的每個文字區塊都帶有自己的邊界框和識別文字;結果頁將翻譯繪製回同一座標,從而保留原始版面。

拍攝流程

  1. 相機初始化。 相機控制器以明確的 initializing / ready / failed 狀態進行非同步初始化。失敗時會顯示重試按鈕,可在不重新進入 initializing 守衛的情況下重新執行初始化。
  2. 真實方向。 當應用鎖定為直式時,iOS 的 DeviceOrientation 和 EXIF 不可靠。應用透過 sensors_plus 讀取原始加速度計,並快取最近一幀,因此即使 UI 被鎖定,快門也能以真實的握持方向拍攝。然後將 EXIF 方向與此真實情況協調一致。
  3. 快門。 點擊以目前預覽長寬比拍攝。拍攝後幀在 OCR 前會下採樣到可設定的最大邊長——大多數頁面需要在長邊 1500–2000 像素才能讓引擎讀取細小文字而不佔用過多記憶體。
  4. 閃光燈。 取景器中提供四種模式——自動、關、開和手電筒——切換綁定到系統閃光 API。

OCR 返回的內容

為什麼在裝置本地處理

提高 OCR 準確性的最佳實務

  1. 均勻的間接光。 窗光優於頭頂聚光燈。穿過頁面的陰影是字元誤讀的最常見原因。
  2. 點擊對焦。 如果自動對焦選擇了錯誤對象(桌面、手指、頁邊),請在拍攝前點擊文字中心。
  3. 平整的頁面。 向書脊彎曲的頁面會在裝訂線附近遺失字元。盡可能用另一隻手將頁面壓平。
  4. 每次拍攝一種語言。 混合字型的頁面可在一次掃描中處理,但混排拉丁文與直排日文的頁面最好分成兩次拍攝。