如何在matlab中将高斯噪声添加到3D数据

How to add Gaussian noise to 3D data in matlab

在实验过程中,需要对3D数据(点云或网格)添加不同级别的高斯噪声,但只求2D高斯噪声函数。我们如何向 3D 数据添加高斯噪声?

不用任何函数也可以做到,只需要使用正态分布的随机数(https://es.mathworks.com/help/matlab/ref/randn.html)。 一个高斯噪声可以定义如下:

[M, N, P] = size(data);
noise = sqrt(sigma)*randn(M, N, P);

其中 sigma 是噪声的方差(功率),M、N、P 是 3D 数据矩阵的维度。

正确创建噪音后,只需将其添加到数据中即可:

y = data + noise;

如有错误,请检查噪声的维度,它们必须与数据相同。