2016-08-10 82 views
0

我有一組2D離散點,需要計算內部面積,或簡單的長度和高度,這並不重要。但這個問題的重點在於;不一定我們有形成內表面的銳利邊緣。我嘗試了命令boundaryinpolygon,但似乎不是這個問題的正確答案。如何處理我們沒有直線邊緣的邊緣,如弧形或半圓形。在Matlab中計算離散點的面積

https://drive.google.com/file/d/0B-DuVkE6qbU3ZnJsbWdQNjVmVkk/view?usp=sharing

內部鏈路中提供的文件:1由XYZ的

  • 文件座標加強度(自帶由激光掃描的數據)值
  • 文件2由XYZ的座標加上強度,而所有Z和強度值通過文件固定。
  • 圖1-1,1-2,1-3,1-4表示具有相關強度值的3D數據。不同的強度值顯示不同的材料。白色箭頭展示了分段不同部分的深度。
  • 圖2-1,2-2表示2D中只有一個強度值的數據。實際上,在這個步驟中,3D數據被投影到2D中,並且所有強度值僅改變爲一個值,此外,窗口的內部部分被移除。內部部分的面積是需要計算的。

這對我來說是一個挑戰!任何人都可以提醒一下嗎?

+1

的一點是,根據定義,一些與零區。除非你的意思是別的,而你沒有表現出來。這是圖像處理嗎?我們可以看到圖像嗎?你有什麼嘗試? –

+0

你能否建議我如何上傳屏幕截圖或ascii文件?實際上它不是一個圖像結構,即不是像素格式。它只是離散點,意味着x,y座標,但顯然沒有連接。 – Sophia

+0

在問題編輯器中,您有一個上傳圖片的按鈕。或者你可以在外部網站上傳圖片並提供一個鏈接(還有一個鏈接按鈕) –

回答

0

也許你可以爲了獲得一個獨特的「對象」使用imcloseimdilateimerode功能,那麼你可以從0或255彙總所有的值diferent計算領域,根據您的實現。我假設圖像是黑白的,否則先轉換它。 Matlab的文檔:

+0

親愛的RCaetano,我提供了一個鏈接到數據,也解釋了這個問題。 – Sophia

+0

這不是一個圖像問題。在ascii文件中,有xyz座標加上強度值。強度是與某些參數(如材料)有關的點的一個屬性。 – Sophia

0

如果你的點是多邊形的頂點座標,那麼你可以使用polyarea返回的區域那個多邊形。

例:

Area = polyarea(pointsX, pointsY) 

您考慮這個問題的點的順序,他們必須形成有效的多邊形(段不得跨越)

+0

尊敬的Sembei,我提供了一個鏈接到數據,也解釋了更多的問題。 – Sophia

+0

正如在ascii文件中可以看到的,在構建ascii文件記錄的點之間沒有特定的順序。他們已被隨機記錄。 – Sophia

+0

您可以在Z座標(深度)中放置閾值。所以你會以一個二進制圖像結束一定深度的對象。一旦你有二進制圖像,你可能需要一些形態來清理它,然後你可以使用'bwarea'。看一看http://ch.mathworks.com/help/images/ref/bwarea.html –