光學字元辨識(OCR)將文字影像—掃描、智慧型手機相片、PDF—轉換為機器可讀的字串,並且越來越多地轉換為 結構化資料。現代 OCR 是一個清理影像、尋找文字、讀取它並匯出豐富元數據的流程, 以便下游系統可以搜尋、索引或擷取欄位。兩個廣泛使用的輸出標準是 hOCR,一種用於文字和版面的 HTML 微格式,以及 ALTO XML,一種以圖書館/檔案館為導向的綱要;兩者都保留位置、閱讀順序和其他版面提示,並受到 像 Tesseract這樣的熱門引擎支援。
預處理。 OCR 品質始於影像清理:灰階轉換、去噪、 二值化(二值化)和歪斜校正。標準的 OpenCV 教學涵蓋了全域、 自適應 和 Otsu 二值化—適用於光線不均或雙 峰直方圖的文件的必備步驟。當頁面內的光線變化時 (想想手機快照),自適應方法通常優於單一全域閾值;Otsu 會透過分析直方圖自動選擇一個閾值。傾斜校正同樣重要:基於霍夫變換的 歪斜校正(霍夫線變換)與 Otsu 二值化結合,是生產預處理流程中常見且有效的方案。
偵測與辨識。 OCR 通常分為文字偵測(文字在哪裡 ?)和文字辨識(它說什麼?)。在自然場景和許多掃描中,完全卷積 偵測器,如 EAST ,可以有效地預測字或行級的四邊形,而無需繁重的提案階段,並且已在 常見的工具套件中實現(例如, OpenCV 的文字偵測教學)。在複雜的頁面(報紙、表格、書籍)上,行/區域的分割和閱讀順序推斷很重要:Kraken 實現了傳統的區域/行分割和神經基準線分割,並明確支援 不同的腳本和方向(LTR/RTL/垂直)。
辨識模型。 經典的開源主力 Tesseract (由 Google 開源,源於 HP)從字元分類器演變為基於 LSTM 的序列 辨識器,可以從 CLI 發出可搜尋的 PDF、 hOCR/ALTO 相容輸出等。現代辨識器依賴於序列模型,而無需預先分割的字元。 連接主義時間分類 (CTC) 仍然是基礎,它學習輸入特徵序列和輸出標籤字串之間的對齊;它廣泛 用於手寫和場景文字流程。
在過去幾年中,Transformer 重塑了 OCR。 TrOCR 使用視覺 Transformer 編碼器和文字 Transformer 解碼器,在大型合成語料庫上進行訓練,然後 在真實資料上進行微調,在印刷、手寫和場景文字基準測試中表現出色(另請參閱 Hugging Face 文件)。與此同時,一些系統繞過 OCR 進行下游理解: Donut(文件理解 Transformer) 是一種無 OCR 的編碼器-解碼器,可直接從文件 影像輸出結構化答案(如鍵值 JSON)(儲存庫, 模型卡),避免了在單獨的 OCR 步驟為 IE 系統提供資料時出現錯誤累積。
如果您想要跨多種腳本的「開箱即用」文字閱讀, EasyOCR 提供了一個包含 80 多種語言模型的簡單 API,可傳回框、文字和可信度—方便用於原型和 非拉丁腳本。對於歷史文獻, Kraken 以基準線分割和腳本感知閱讀順序而著稱;對於靈活的行級訓練, Calamari 建立在 Ocropy 的基礎上(Ocropy),帶有(多)LSTM+CTC 辨識器和用於微調自訂模型的 CLI。
泛化取決於資料。對於手寫, IAM 手寫資料庫 為訓練和評估提供了不同作者的英文句子;它是 行和字辨識的長期參考集。對於場景文字, COCO-Text 在 MS-COCO 上分層了廣泛的註釋,帶有印刷/手寫、清晰/不清晰、腳本和 完整轉錄的標籤(另請參閱原始 專案頁面)。該領域也嚴重依賴合成預訓練: 野外合成文字 將文字渲染到具有逼真幾何和光線的相片中,為預訓練 偵測器和辨識器提供大量資料(參考 程式碼和資料)。
ICDAR 的穩健閱讀 下的競賽使評估保持務實。最近的任務強調端對端偵測/閱讀,並包括將字 連結成片語,官方程式碼報告 精確率/召回率/F-score、交並比 (IoU) 和字元級編輯距離度量—反映了從業人員應該追蹤的內容。
OCR 很少以純文字結尾。檔案館和數位圖書館更喜歡 ALTO XML ,因為它除了內容之外還編碼了實體版面(帶座標的區塊/行/字),並且它與 METS 打包配合得很好。 hOCR 微格式則相反,它使用 ocr_line 和 ocrx_word 等類別將相同的思想嵌入到 HTML/CSS 中,從而可以輕鬆地使用 Web 工具進行顯示、編輯和轉換。Tesseract 兩者都支援—例如, 直接從 CLI 產生 hOCR 或可搜尋的 PDF(PDF 輸出指南);像 pytesseract 這樣的 Python 包裝函式增加了便利性。當儲存庫具有固定的接收 標準時,存在用於在 hOCR 和 ALTO 之間進行轉換的轉換器—請參閱此精選清單 OCR 檔案格式工具。
最強勁的趨勢是融合:偵測、辨識、語言模型,甚至特定於任務的解碼 正在合併到統一的 Transformer 堆疊中。在 大型合成語料庫 上進行預訓練仍然是一個力量倍增器。無 OCR 模型將在目標是結構化輸出 而不是逐字記錄的任何地方積極競爭。也期待混合部署:一個輕量級偵測器加上一個 TrOCR 風格的 辨識器用於長格式文字,以及一個 Donut 風格的模型用於表格和收據。
Tesseract (GitHub) · Tesseract 文件 · hOCR 規範 · ALTO 背景 · EAST 偵測器 · OpenCV 文字偵測 · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · IAM 手寫 · OCR 檔案格式工具 · EasyOCR
光學字符識別(OCR)是一種技術,用於將不同類型的文檔,如掃描的紙質文檔、PDF文件或由數字相機拍攝的圖像,轉換為可以編輯和可搜索的數據。
OCR通過掃描輸入的圖像或文檔,將圖像分割成單個字符,然後將每個字符與使用模式識別或特徵識別的字符形狀數據庫進行比較。
OCR用於各種行業和應用,包括數字化打印文件、啟用文字轉語音服務、自動化數據錄入過程,以及幫助視障用戶更好地與文字互動。
儘管OCR技術已取得了巨大的進步,但它並不是絕對可靠的。準確性可能會因原始文檔的質量和使用的OCR軟件的具體情況而異。
儘管OCR主要用於識別印刷文字,但一些先進的OCR系統也能識別清晰、一致的手寫。然而,通常由於個人寫作風格的多樣性,手寫識別的準確度較低。
是的,許多OCR軟件可以識別多種語言。但是,需要確保你使用的軟件支持特定的語言。
OCR是光學字符識別的縮寫,用於識別印刷的文字,而ICR,或稱為智能字符識別,則較為先進,用於識別手寫的文字。
OCR在處理清晰易讀的字體和標準文字大小上效果最佳。雖然它能識別各種字體和大小,但在處理不常見的字體或極小的文字大小時,其準確性可能會降低。
OCR在處理低分辨率的文件、複雜的字體、打印質量差的文字、手寫,以及字和背景迎合度不足的文件時可能出問題。另外,儘管它可以識別多種語言,但可能無法完美覆蓋所有語言。
是的,OCR可以掃瞄彩色文字和背景,雖然它對高對比度的顏色組合,如黑色文字和白色背景效果更好。如果文字和背景的顏色對 比度不足,其準確性可能會降低。
RGBA 代表紅色、綠色、藍色和 Alpha。它是數位影像和圖形領域中廣泛使用的色彩模式。此模式表示光的三原色(紅色、綠色和藍色)以不同強度組合,以產生廣泛的色彩。Alpha 通道表示顏色的不透明度,允許建立透明或半透明效果。此影像格式在數位圖形、網頁設計和任何需要處理色彩和透明度的應用程式領域中特別有用。
在核心部分,RGBA 模式中的每種顏色都由數值表示,通常在 0 到 255 的範圍內,其中 0 表示沒有強度,而 255 表示完全強度。因此,RGBA 格式中的顏色可以表示為 4 個整數的元組,例如 (255, 0, 0, 255) 表示完全不透明的紅色。此數值表示法允許精確控制數位影像中的色彩和不透明度等級,促進複雜的圖形效果和詳細的影像處理。
將 Alpha 通道新增到傳統 RGB 模式中,大幅擴展了創作可能性。與只能建立實心的 RGB 不同,RGBA 可以產生透明度和半透明度等效果。這在網頁設計和軟體開發中特別重要,因為在這些領域中,疊加影像、建立漸層效果和使用半透明元素設計視覺上吸引人的介面至關重要。Alpha 通道有效地允許影像與其背景或其他影像混合,提供無縫整合。
在儲存方面,由於有額外的 Alpha 通道,RGBA 影像需要比其 RGB 對應影像更多的空間。RGBA 影像中的每個像素通常由 32 位元表示,每個通道 8 位元。這表示對於單一像素,紅色、綠色、藍色和 Alpha 通道各有 256 種可能的強度,產生超過 40 億種可能的色彩和不透明度組合。如此詳細的表 示法確保色彩和透明度呈現的高保真度,但也需要仔細考量儲存需求,特別是對於大型影像或記憶體吃緊的應用程式。
數位影像處理軟體和圖形程式庫廣泛使用 RGBA 格式,因為它具有彈性和色彩深度。合成、混合和 Alpha 遮罩等常見操作充分利用 Alpha 通道來處理影像圖層和透明度。例如,合成涉及將多個影像分層疊放在一起,而 Alpha 通道決定這些圖層如何混合。類似地,Alpha 混合會根據兩個影像的透明度等級來組合它們的像素,允許在影像之間平滑過渡或建立柔和的邊緣。
在網頁設計的背景下,RGBA 格式對於建立動態且視覺上引人注目的介面非常有用。用於描述網頁文件呈現的樣式表語言 CSS 支援 RGBA 色彩值。這允許網頁開發人員直接在 CSS 屬性中指定色彩及其不透明度,讓設計人員能夠設計具有半透明背景、邊框和陰影的元素。這些功能對於現代網頁美學不可或缺,透過使用色彩和光線來促進引人入勝的使用者體驗。
然而,使用 RGBA 也會帶來某些挑戰,特別是在瀏覽器和裝置相容性方面。雖然大多數現代網頁瀏覽器和裝置都支援 RGBA,但仍可能出現不一致的情況,導致影像和圖形效果的呈現方式有所不同。因此,開發人員必須仔細測試其應用程式在不同平台上的執行情況,以確保一致的使用者體驗。此外,與 RGBA 影像相關的檔案大小增加可能會影響網站載入時間,因此需要最佳化策略,例如影像壓縮和適當的快取技術。
在影像檔案格式方面,有數種格式支援 RGBA 色彩模式,包括 PNG、GIF 和 WebP。PNG 特別受歡迎,因為它支援無失真壓縮和透明度,使其成為需要高品質和透明度的網頁圖形的理想選擇。GIF 也支援透明度,但只允許單一層級的透明度(完全透明或完全不透明),這使得它在詳細透明度效果方面 不如 PNG 多功能。WebP 是一種較新的格式,為有損和無損影像提供優異的壓縮和品質特性,支援 RGBA 模式提供的完整透明度範圍。
在影像合成和處理中處理 Alpha 通道對於達成所需的視覺效果至關重要。一種常見的技術是 Alpha 合成,其中具有不同透明度等級的影像會被組合在一起。此程序涉及根據 Alpha 值和底層圖層的色彩來計算每個像素的色彩。適當處理 Alpha 通道可確保不透明度的平滑漸層,並可用於建立複雜的視覺效果,例如柔和的陰影、發光和影像之間的精緻混合效果。
另一個技術考量是預乘 Alpha 的概念,其中 RGB 值會根據 Alpha 值進行調整,以最佳化混合操作。預乘可以簡化渲染程序,方法是減少影像處理過程中所需的計算次數,特別是在電玩遊戲和互動式應用程式的即時圖形渲染中。然而,此技術需要在影像編碼和解碼過程中小心處理,以防止色彩不準確,特別是在高透明度區域。
影像處理演算法也利用 RGBA 模式來執行色彩校正、濾鏡和轉換等任務。在這些操作中加入 Alpha 通道允許進行細微調整,以尊重不同影像區域的不透明度,確保透明度以視覺上連貫的方式維持或改變。專為 RGBA 影像設計的演算法必須考量 Alpha 通道,以防止在修改色彩或套用濾鏡時對透明度造成意外影響。
總之,RGBA 影像格式在數位影像、圖形設計和網頁開發中扮演著關鍵角色,提供豐富的色彩調色盤,並結合透明度控制的彈性。它的實作促進視覺豐富且互動的內容建立,讓設計人員和開發人員得以突破數位美學的界限。儘管有檔案大小增加和相容性問題等挑戰,RGBA 在視覺品質和創作可能性方面的優點使其成為現代數位媒體的基石。隨著技術進步,影像壓縮和處理技術的持續創新可能會進一步提升 RGBA 模式的可用性和效率 ,確保其在數位設計和開發不斷演變的領域中保持相關性。