2011-07-29 40 views
2

我正在寫OCR識別程序。它正常工作與掃描的文本,但是,有兩個問題:如何從文字圖像中區分照片

  1. 它詳細介紹了照片誤報(一些垃圾隨機文本,如「bkigopes」)
  2. 它的工作原理相當緩慢

的目標是找到所有帶有文本的圖像並提取此文本。所以,如果提到的問題,我需要快速拒絕照片。我希望有一些數學(統計)方法,比如計算一些中值數字,這可以很容易地確定彩色圖像,而沒有像掃描文本那樣的任何明顯結構。

這種方法/配方不應該被特殊類型的圖像欺騙,例如,帶有截圖或雜誌頁面的文本,裏面有很多文字和圖片。此外,彩色文字(例如黃色的紅色)不應被拒絕。

有沒有人遇到過這樣的問題?任何想法或現成解決方案?

回答

1

此區域沒有先驗知識/經驗,任何,但作爲一個完整的猜測:

請問熵的計算工作?

如果東西有很高的熵,那麼它很可能是一個圖像;如果很低,它可能更像是文本。

希望幫助一點點......

+0

感謝您的快速主意。我想這可能會起作用(不知道這是否會被雜誌文章欺騙)。你有什麼鏈接來執行這樣的計算? – Alex

+0

@亞歷克斯:不!我甚至不太熟悉自己的數學(!),這只是一個突然出現在我腦海中的想法。 :)我的推理是,文本是組織良好,而圖像是相當隨機的,所以計算熵可能是一個好主意。 – Mehrdad

+0

哈哈嗨Mehrdad。我認爲這不適用於OCR應用程序,因爲文本存儲爲圖像。如果您之前掃描過文檔,您會注意到壓縮量(與熵有關)並不是異常高。 – tskuzzy

0

一般這是一個相當艱鉅的任務。但是,考慮到您的特定應用程序,也許您可​​以對OCR程序的輸入做出假設。

您提到了「掃描文本」。因此,我認爲這不適用於公路沿線的公告牌圖片,並且需要在風景背景中的公告欄上識別文字。這意味着顏色範圍很低,對比度很高。

另一方面,照片通常具有非常大的顏色範圍,相鄰像素之間的對比度相對較低。當然,考慮到許多風格的攝影,這種假設很容易失效。

所以我認爲你可以嘗試的第一件事是將圖像轉換成黑白(不是灰度)。然後看看兩種顏色的相對比例。我認爲一張照片比一份掃描的文檔更加平均分割。你用來轉換照片的算法應該對異常值具有抵抗力,所以也許使用某種中位數作爲閾值是很好的。

+0

小心高通濾波(第3段)。你的假設是文本只有幾個像素寬 - 這可能是也可能不是真的。如果這是一種粗體,你會得到文本的*輪廓*,而不是身體......所以它可能變得更加棘手。 – Mehrdad

+0

感謝您的建議,tskuzzy。我認爲,任何圖片變化都會對大幅度的表現造成重大損失。我必須找出一些數學方法。你怎麼看直方圖?對於文本,它應該有兩個最大值。然而,我不確定裏面的文字+圖片。 – Alex

0

首先,由於雜誌頁面是一個混合,你不會找到一種技術,將採取整個圖像,並作出決定。需要某種分割。如果是我,我會尋找橫向和縱向的像素條帶,顯示低方差,然後使用它們將圖像分成網格。然後,您可以測試網格中的每個單元格,並刪除那些照片。

現在進行照片測試。像@ Mehrdad的熵方法一樣,你可以嘗試壓縮這樣的任務。不同的壓縮算法的工作方式不同,但無損Lempel-Ziv-Welch樣式或等效壓縮算法應該比文本壓縮圖片更多。測量未壓縮版本和壓縮版本之間的大小差異可以很好地估計熵。畢竟,熵是最好的無損壓縮的度量。通過一些經驗性工作,這可以提供合理可靠的分類技術。

+0

感謝您的建議,morungos。我認爲,任何圖片變化都會對大幅度的表現造成重大損失。我必須找出一些數學方法。 – Alex

相關問題