2017-03-02 88 views
3

我想在使用OpenCV和tesseract時檢測圖像中的文本。我的步驟是:如何提高Tesseract結果

  1. 檢測文本我正在使用cv :: text的場景文本檢測算法。其實,這工作也不錯困難的情況下
  2. 識別的文本分別從主圖像中提取包含文本的圖像區域
  3. 我每個子圖像傳遞給正方體

然而,正方體勉強找到文本如果它發現文字,這是錯誤的。 實施例:(從https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/scenetext01.jpg拍攝圖像)

enter image description here

綠色:檢測到的文本由OpenCV的(好)。

黃色:基礎上,綠色長方形(壞)由正方體識別的文本

提取的文本是「DOUBLEI」。 'I'是右邊黑色邊框的結果。

正如你所看到的,其他的詞如「禁止」也應該很容易通過tesseract檢測到。我試圖增加提取的包含文本的子圖像的大小並使用閾值,但我無法改進我的結果。

在各種教程中,我看到tesseract在更困難的條件下工作,所以它應該實際上工作。

當直接使用「tesseract.exe」與被檢測到任何文本相同的圖像:

enter image description here

+0

我在這些單詞之間唯一的區別在於,在「禁止」這個詞中,這些字母更小,更接近彼此。我不知道這是否會有所幫助,但嘗試重新調整圖像以使其更大並再次運行。 –

+0

你可以編輯你的問題,並附上提取的文字圖像? – thewaywewere

+0

我會盡力的。什麼幫助!顯着!增加文字圖像大小,例如400%。這有助於識別所有文字,但沒有紅色背景頂部的「通知」。 – Anonymous

回答

0

嘗試添加少許白色背景。我記得tesseract對於到達圖像邊界的文本有很大的問題。每邊添加10px的白色,看看是否有幫助。