Matlab給三維點雲添加高斯噪聲和隨機噪聲


寫在前面

       在我們進行點雲配准一類的模擬實驗時,第一步就是對原始點雲進行適當的RT變換,並添加一定的噪聲,得到測量點雲,然后才可以用我們的算法去進行后面的配准操作。在添加噪聲這一塊,matlab里並沒有特定的函數,因此需要我們在了解噪聲原理的基礎上,利用簡潔的代碼實現。

       鑒於網上搜索高斯噪聲要么是二維的實現,要么是c語言實現,鮮有針對三維點雲的matlab實現源碼,筆者分享一下自己的實現過程,供新手參考。

高斯噪聲的定義

高斯分布,也稱正態分布,又稱常態分布,記為N(μ,σ^2),其中μ,σ^2為分布的參數,分別為高斯分布的期望和方差。當有確定值時,p(x)也就確定了,特別當μ=0,σ^2=1時,X的分布為標准正態分布

所謂高斯噪聲是指它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。注意在模擬測量點雲的生成中,這個噪聲只是相當於把現有的點移動了一個位置,而不是添加新的點進去。

Matlab實現

a=ptCloudTformed.Location;
s_noise=normrnd(0,0.01,size(a,1),2);%加噪音,其中mean parameter mu = 0, standard deviation parameter sigma = 0.01
s_simulated=a(:,1:2)+s_noise;
ss=[s_simulated,a(:,3)];
ptCloudA = pointCloud(ss);

 

隨機噪聲

顧名思義,遵循隨機分布

代碼實現更加簡單,注意ss = n+(m-n)* rand(10000,3);此時不再是randn

效果如圖

image

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM