2016-04-18 109 views
3

我正在試圖找到一種方法來確定圖像是否需要旋轉以使文本水平對齊。如果它確實需要旋轉多少度?如何確定圖像是否需要旋轉

我將圖像發送到tesseract並使tesseract生效,圖像中的文本需要水平對齊。

我正在尋找一種方法做到這一點,而不依賴於圖像中的「方向」元數據。

我認爲以下幾種方式做到這一點的:

  1. 旋轉圖像順時針四次90度,發送所有四個圖像正方體。這是不理想的,因爲需要處理一個圖像4次。
  2. 使用霍夫線變換來查看線是垂直還是水平。如果它們是垂直的,則旋轉圖像。這樣圖像仍然可能需要旋轉180度。所以我不確定這是多麼有效。

我想知道是否有其他方法可以使用OpenCV,imageMagik或任何其他圖像處理技術來完成此操作。

回答

0

上的所有4個方向Aytempting OCR似乎是一個合理的選擇,我懷疑你會發現一個更可靠的啓發。

如果速度有問題,可以先對圖像的一小部分進行OCR處理。選擇一個矩形區域,它具有適當數量的邊緣像素和文本的白色/黑色比例,然後將其發送到不同方向的tesseract。有了一個小區域,你甚至可以嘗試比90°更小的步驟,或者將它與另一個像霍夫這樣的啓發式算法結合起來。

如果您還記得基於以前圖像的最可能的方向,並且一旦方向由tesseract成功處理就停止,那麼在大多數情況下您甚至不必嘗試大多數方向。