2

我試圖從掃描圖像中提取對象。在白色背景上可能有幾個文檔,我需要自動裁剪並旋轉它們。這似乎是一個相當簡單的任務,但我在某個時刻陷入困境,並始終得到不好的結果。什麼是從淺色背景中自動裁剪物體的正確方法?

我試過:

  1. Binarise圖像並獲得通過執行形態學操作連接的部件。

  2. 通過使用擴張和侵蝕的二進制圖像作爲蒙版組件進行分水嶺分割。

  3. 應用Canny探測器並填充輪廓。

這些都沒有給我帶來好的結果。如果物體沒有對比邊緣(即白色背景上的一張紙),它會分裂成許多獨立的組件。如果我通過過度膨脹連接這些組件,背景噪音也會擴大,一切都變得混亂。

例如,我有一個形象:

應用的Canny檢測和填充輪廓後,我得到這樣的:

正如你所看到的,組件未連接。他們彼此距離太遠,無法通過合理的擴張來連接。當我將流域應用到這個面具並結合一些背景點時,會產生非常糟糕的結果。

有些圖片是嘈雜:

在這種特殊情況下,我能夠通過坎尼探測器獲得整個護照的輪廓,因爲它的對比度的邊緣。但是閾值方法在這裏不起作用。

+0

你可以包括你正在處理的一些實際例子嗎? – mmgp

+0

我已經包含了一個例子。 – lizarisk

+0

該問題的標題應該改寫爲「..從非常淺的背景?」或者這個意義上的東西?如果你總是有一個非常淺的背景,我可以提出一些建議。 – mmgp

回答

1

如果圖像始終處於非常淺的背景上,那麼可以用接近最大可能值的閾值進行二值化。之後,它是糾正二進制圖像獲取對象的問題,但這一步將取決於其他圖像的樣子。

例如,左圖中的下圖是在對輸入進行高斯濾波之後,在閾值達到最大值的99%時得到的值。去除連接到邊界和其他小部件的組件後,再結合一些基本的形態學工具,我們得到正確的圖像。

enter image description hereenter image description here

+0

感謝您的幫助!不幸的是,這不適用於更嘈雜的圖像... – lizarisk

+0

你能包括更好的代表你有什麼? – mmgp

+0

我已經包含了另一個例子。 – lizarisk

1

這可能顯得有點軟弱無力,但忍耐一下:

這看起來像只涉及邊緣檢測,形態學操作和分割圖像處理的食譜相當具有挑戰性的情況。

你不在這裏開發的是你(我相信)知道你的文件應該是什麼樣子。您目前正在查看完全一般的解決方案,但沒有考慮到此前的知識。如果您可以獲得一些培訓數據,那麼您可以從簡單的基於模板/補丁的匹配(SSD,歸一化交叉關聯)到more sophisticated對象detection技術,找到文檔的位置和旋轉。

我的猜測是,如果你的物體總是大致相同並且規模相同(例如護照以固定分辨率/類似的機器掃描),那麼你可以用相當粗糙的方法逃脫。不會有任何一個正確的方法。在你完成大量的參數調整之前,你最終使用的技術也可能無法工作,所以不要放棄太快。

+0

我可以在任何輸入圖像,實際上我需要所有這些只是爲了將裁剪後的圖像送入作爲護照檢測器的分類器,所以這個作物應該不是很準確。我只是希望有一個很好的分割算法作爲副作用,但在所有的實驗中,我發現一切都很大程度上取決於特定的圖像,參數調整在這裏沒有幫助,因爲對一個圖像有效的爲另一個工作,反之亦然。 – lizarisk

相關問題