2016-08-02 74 views
0

我正在使用opencv進行光學字符識別項目。我已經在正常的位數上成功實現了ocr。但是在實時情況下,我得到了不想要的噪音問題digits.original圖像如何去除圖像中的數字之間的不必要的噪音

我已經轉換爲灰度和施加閾值,則它涉及這樣

如果我申請輪廓檢測,然後我將得到那些黑色嵌段I also.How能夠有效地消除數字之間的塊。我對OCR沒有任何問題,我只是想刪除不需要的噪音並旋轉圖像。謝謝。

旋轉並從圖像中刪除黑色斑點後,這是我取得的進展,我如何刪除由於陰影而附着在第一位數字的塊。

我遇到了ocr的問題。第一個和最後兩位數字不能正確識別。如何提高ocr的效率。在用系統對那些數字進行實時訓練後,我得到了正確的結果。

最終OCR圖片:final ocr image

回答

3

去除黑條無幾何形狀的先驗知識,我純斑點分析意味着,幾乎是不可能的。由於底部強烈的陰影,也不可能避免他們與數字接觸。

我建議盡最大努力找到那些黑色條紋,這是斑點垂直範圍最大的地方。也許還可以通過對列進行平均(6個強本地最小值)來獲得它們。

enter image description here

當你水平位於這條,你可以通過填寫白色矩形刪除它們原來的形象。您也可以將它們垂直放置在各自的切片中,並使用此信息執行去扭曲,然後進行擦除。您還可以預測最左側和最右側空隙的位置。

這是一種結果,你可以實現:

enter image description here

enter image description here

+0

感謝ü先生的答覆和我得到烏爾黑pixels.but的垂直計數檢測斑點想法我不能完美地刪除blob.u可以參考我post.first中的更新後的圖像1)二進制閾值2)getRotation2Dmatrix和wrapAffine函數進行校驗3)我做了一個小代碼來檢測blob 4)替換那些有白色空間的斑點。我認爲最後一步工作不正常。 –

+0

如果您使用opencv或matlab.please共享您的實施步驟。 –

+0

@PraveenGadiyaram:我沒有,我用我自己的軟件。你的刪除條紋太窄,爲什麼你不放大它們? –