5

我有一個蠕蟲的二進制圖像(斑點提取效果很好)。 我有興趣在blowb(蠕蟲)上安裝中心線。多邊形斑點(二值圖像)的中心線

到目前爲止,我想到了這一點:從一個多邊形開始(在圖像中的斑點提取後)我應用了voronoi計算並丟棄了多邊形之外的所有頂點(藍色),這給了我黑色中心線我可以進一步使用,以適應一個光滑的中心線。

然而,這種計算並不是完全可靠的(因爲除去多邊形內部的voronoi頂點?)有人知道算法工作流程來獲取多邊形的中心線或blob對象(二值圖像)的中心線。 (多邊形的骨架?,三角內側邊緣的中點使用)

下面是一個示範:

enter image description here

回答

0

我已經找到了更好的解決方案:

  • skeltonize二進制團塊
  • 通過追蹤像素線和分支點構建骨架的graph(無週期)
  • 獲得從每個末端節點到所有其他末端節點的所有最短路徑並取最長路徑(大約是該blob的開始和結束)從一個末端節點(度數= 1)到另一末端節點的結果路徑是蠕蟲中線的近似值。

如果有人對解決方案感興趣,我可能會共享一個python筆記本。 最終結果是:綠色=最終中線圖表,深綠色=最終中線

的骨架的圖形

源代碼
對這個問題的代碼可以是在這裏找到:https://github.com/gabyx/WormAnalysis(如果你使用它請明星)

+0

這看起來不錯!你能和我一起分享你的Python筆記本嗎?謝謝! – crazjo

+0

當然,我會在今晚發佈一些東西,我已經準備好了,前一段時間...需要找到它... – Gabriel

+1

代碼在這裏:https://github.com/gabyx/WormAnalysis – Gabriel