2014-01-15 147 views
-2

我是圖像處理領域的新手;我想就您遇到的問題徵求您的意見。要求各種方法來分割圖像中的對象 - MatLab

這是一個示例圖像。

enter image description here

我想分割後能得到什麼這是兩個硬幣,也就是說正面和背面的物體。

我做了什麼:

  1. 做二值化
  2. 發現連接部件
  3. 創建對應面具對象
  4. 使用regionprops獲得地區和得到的只有那些誰是大比一定量 ....

我可以得到這些對象;但是,我很難確定何時有其他圖像在硬幣和文本之間具有不同大小和距離的圖像。

您能否分享您的看法我們如何清晰地分割對象?

謝謝你這麼多

+1

你的問題不嚴格地說一個編程問題,也許對SE其他網站是比較合適的。幾天前你也問過類似的問題http://stackoverflow.com/q/21022041/2777181 –

+0

它可能不適合在這個論壇上,但我相信這兩個問題討論了不同的問題@ - @ – sayvortana

回答

0

既然你只是要求意見的處理,我可以給你幾個問題:

  1. 不要硬編碼閾值。而是使用直方圖或其他使用圖像派生數據的方法。
  2. 使用您已知的所有可能樣本中常見的知識來確定您的算法和閾值。例如,硬幣是圓形的(或橢圓形的),並且它們似乎在非常簡單的背景上。
  3. 你的算法應該考慮所有情況。例如,如果只有一枚硬幣,請確保在圖像中的「硬幣」或其他圓形物體內沒有找到「硬幣」。
  4. 使用最有可能成爲硬幣的第一個物體的幾何形狀來確定第二個或第三個硬幣的幾何圖形。
  5. 在編碼之前使用僞代碼或流程圖,這樣您就不會遇到無法適用於所有情況的解決方案。
  6. 確保您的樣本量很大,並且完全覆蓋了所有可能的情況。
  7. 注意不要在您過分使用之前,在您的所有樣本上嘗試每層算法,以避免將您的代碼(例如:硬編碼閾值)專門化爲一個樣本。

希望這有助於