2011-09-20 59 views
2

我的圖像是一個蛋白質的2D表面,我使用matlab函數「scatter」來顯示圖像,所以有一些白色的空白空間它。如何填充由matlab函數生成的圖像中的空白空間「scatter」

我想填充它們的顏色,但問題是點有不同的顏色,有些是紅色的,有些是橙色的(點的顏色是由它的RGB值決定的)。

所以我想分配類似於他們相應的鄰居的白色空間的顏色。 我做的原始工作是首先提取多邊形的邊緣,這可以幫助我檢測點是否在多邊形內部,因爲我沒有將顏色分配給多邊形外部的空白。

然後只是逐個掃描整個圖像像素來檢查像素是否是白色,如果是這樣,我只是分配鄰居顏色給它,就像我說的,我必須檢查像素是否在裏面多邊形或不是每次。

但是速度真的很慢,結果不夠好,有沒有人能給我一些想法呢?

我有2D散點圖像和3D結構。2D中的每個點都可以找到一個對應於3D的 ,我不知道這些信息是否有幫助。

enter image description here

回答

4

與盤內核的侵蝕(7×7)如enter image description here然後雙邊濾波器後:

enter image description here

PS:如果你有3D點結構,上傳它的地方併發布鏈接

+0

謝謝!我可以問你正在使用的內核大小嗎? 和matlab是否已經有雙邊過濾器? – Daisyang

+0

@Daisy內核顯示在答案中。對於Matlab中的雙邊濾波器,請參閱http://www.mathworks.com/matlabcentral/fileexchange/12191(谷歌的第一個結果) –

+0

@Daisy如果您發佈3D數據,我相信我們可以做得更好,比這更好 –

相關問題