這是一個二進制圖像的例子,即作爲輸入,我們有一個imageByteArray和2個可能的值:0
和255
。如何減少二進制圖像中的背景噪音
例1:
例2:
該圖像包含在背景一些原稿邊緣。
該任務是刪除,減少背景像素的數量對邊緣像素的影響最小。
問題是現代算法存在哪些技術來做到這一點?
我不希望作爲一個答案是什麼:使用高斯模糊擺脫背景噪音,使用黑白算法(康力,索貝爾等)閾值或使用霍夫(霍夫線性的推移這種噪聲瘋狂不管是什麼選項已設置)
最簡單的解決方案是檢測所有輪廓並過濾掉長度最小的輪廓。這樣做效果很好,但有時根據圖像它也會擦除有用的邊緣像素。
更新: 作爲輸入,我有標準的RGB圖像與文件(駕駛執照ID,支票,賬單,信用卡,...)在一些背景。主要任務是檢測文檔邊緣。接下來的步驟是衆所周知的:灰度,模糊,Sobel二值化,Hough概率,找到矩形或梯形(如果找到梯形形狀然後進行透視變換)。在簡單的對比背景下,它一切正常。我之所以會問降噪問題,是因爲我需要處理數千種背景,而且無論使用什麼選項,都會產生噪音。不管Hough如何配置,噪聲都會導致額外的線路,並且額外的線路可能欺騙後續邏輯並嚴重影響性能。 (它在java腳本中實現,沒有OpenCV或GPU支持)。
這是您的輸入圖像的黑/白圖像?如果是這樣,很難提高圖像的質量 –
你可以研究形態學操作,雖然也許已經有太多的噪音來做任何形態學上合理的事情。 – hbaderts
作爲輸入我有標準的RGB圖像,上面的圖像是灰度,模糊和索貝爾處理的結果。 –