我正在使用基於OpenCV/C++框架的程序來計算基本上可以重疊的橢圓形對象。如何在OpenCV中過濾由重疊圓形構成的輪廓
閾值圖像和所有對象的輪廓尋找後
我的下一步驟包括未製成重疊橢圓的排除對象(I段將其餘的後面)。
我最終了對象,如這些的:
在這個例子中的圖像,在右側的所有對象均爲負,而在左側的那些是有效的。
我目前的過濾器主要以isoperimetric quotient爲由排除對象。然而,由於我有不同尺寸和噪音的物體,我並不總是滿意這種方法。
理想情況下,我想有一個額外的度量來提高我當前的過濾器的效率。
因爲我必須在許多輪廓上重複這種分析,所以不應該花費很多。
我也想過辦法,如:基於輪廓的連續點的所有三胞胎之間的角度值的直方圖
- 的東西嗎?
- 數學擬合「多橢圓」(我不知道如何做到這一點)?
- 匹配弗里曼連鎖?
但我相信我錯過了一些明顯更有效,更不麻煩的事情。 你有什麼建議, 謝謝:),
編輯: 作爲紅塔正確建議,任何形狀其實可以做出足夠數量的圓的。 因此,爲了使我的問題可以解決,我會添加以下假設:
- 不超過16個橢圓形/對象。
- 橢圓不能平坦:長軸/短軸< 3.
- 在一個對象內,最小橢圓區域內的最大橢圓面積必須小於10。
比你,我會盡量讓我的頭。你有沒有我可以開始的任何鏈接? – 2012-07-29 19:42:23