2011-01-20 79 views
2

我有一個OCR C#項目中,我得到一個掃描的文檔,在它的文字,我需要在文檔中返回文本。圖像處理 - 旋轉掃描的文檔文本對齊

我已經有解析文本的解決方案,但是我們是停留在掃描的文檔被旋轉的部分(向右或向左)。

假設有圖像沒有噪音(全像素爲白色或黑色),任何人都可以幫助我們的算法旋轉運行系統中的圖像(如果沒有一個人的眼睛)?

感謝

+3

圖像總是會旋轉90度左右嗎? – 2011-01-20 17:08:16

回答

1

(我不是專家,但在好奇心寫這個帖子)

恕我直言,這個問題可以有效地與蠻力試錯法來解決成本。因爲不會有太多錯誤的方向。

我認爲你可以很容易地確定文本的邊框。這個邊界框只能以兩種方式有錯誤的方向。明智地旋轉時鐘或明智地旋轉計數器時鐘。因此,最大兩次旋轉圖像(使邊框垂直旋轉)可以找到正確的方向。

也就是說,你可以找到正確的文檔的方向沒有圖像的進一步處理,以確定文本對齊。確定文本對齊將是我認爲的相當大的處理。

UPDATE

我的建議,我們沒有找到確切的旋轉角度。如果粘接盒直立,它可以處於直角或180度旋轉角度。

1)使接合框直立
2)運行OCR,檢查結果,如果確定其完成
3)旋轉180度
2)運行OCR。這一次它必須是在正確的角度

如果我們真的需要找到確切的旋轉角度,我認爲它必須從找到可能的字符'o','c'或'm'(不包括斜體字體)。或者,找到期間的相對位置('。')。我認爲這需要複雜的操作。

+0

這是我們在批量掃描/編碼套件中完成的方式。 – 2011-01-20 17:08:46

3

使用Hough Transform檢測應該是水平文本方向的最強陣容方向。 Hough變換的基本前提是將x-y座標轉換爲r-theta座標系,其中r是距離原點的距離,θ是方向。

一旦圖像被轉換,bin相同的thetas來找到最強的方向。

因爲此方法在離散r和thetas中使用投票。 θ的分辨率與使用的箱數一樣好。因此,不要使用-180到+180度的增量,您可能希望將其限制爲更精確的角度或速度。