2012-08-06 44 views
0

我沒有幾個物體的圖像(輪廓)。但是,我想平均這些形狀並使用對象的平均形狀進行進一步的形狀分析。平均任意物體的形狀(邊界點)

實施例:

Averaged shape http://i48.tinypic.com/1z6qzad.png

在上述圖像,我已經堆疊在輪廓來說明我的例子。

我已經實現以下算法的前兩步:

1)找到這兩個對象形狀

2的質心)對準中心

3)內插對象形狀

因爲,我沒有使用一些參數/解析方程來表示形狀,我怎樣才能得到內插對象的形狀(即第三步)?

在此先感謝

+1

你能通過平均形狀來精確地表達你的意思嗎? – 2012-08-07 07:37:00

回答

1

如果你沒有爲你的形狀參數形式,您可以:

  • 對於每個形狀,創建一個符號距離場即是邊界和負外內正(或相反亦然)。這可以基於(例如)distance transform並且在每個像素處被評估。
  • 計算平均符號距離場的
  • 計算從平均場

我認爲本文描述了類似的方法(儘管可能更復雜)的過零插補形狀:「形狀基於插值使用倒角距離「http://rd.springer.com/chapter/10.1007/BFb0033762,但我沒有在我的當前位置進行檢查的日誌訪問。

+0

謝謝。我已經使用OpenCV C++實現了它,它的工作非常完美。我使用cv :: pointPolygonTest函數返回帶符號的距離。但是,計算需要一些有限的時間。我必須爲10,000個圖像做這個。那麼你能提出更有效的計算簽名距離的方法嗎? – 2012-08-07 19:05:09

+1

我對OpenCV不太瞭解,但是它聽起來像是在每個像素上手動迭代,總是很慢。我會嘗試像獲取[距離轉換](http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html)給你一個無符號的值,然後以某種方式否定基於洪水填充的距離。在Matlab或Numpy中「很容易」,但我不確定OpenCV。如果您遇到問題,您可能會更好地使用單獨的問題:) – YXD 2012-08-08 11:56:02