高斯噪声matlab 代码
时间: 2024-12-27 15:22:03 浏览: 3
### 如何用 MATLAB 实现高斯噪声
为了在 MATLAB 中生成高斯噪声,可以利用内置函数 `randn` 来创建服从正态分布的随机数组。对于特定需求下的高斯噪声生成,还可以借助 `imnoise` 函数来简化操作过程。
下面展示一段用于生成指定大小、均值为0、方差为1的二维高斯噪声矩阵的代码:
```matlab
% 设置参数
rows = 256; % 行数
cols = 256; % 列数
mean_val = 0; % 均值
variance = 1; % 方差 (标准差平方)
% 使用 randn 函数生成高斯噪声
gaussian_noise = mean_val + sqrt(variance)*randn(rows, cols);
```
如果希望向图像数据添加高斯噪声,则可以直接调用更便捷的 `imnoise` 函数完成此任务[^2]:
```matlab
% 加载示例图片
I = imread('cameraman.tif');
% 向图像 I 添加高斯噪声
J = imnoise(I,'gaussian',0,0.02);
% 显示原始图与加噪后的效果图
figure;
subplot(1,2,1), imshow(I), title('Original Image');
subplot(1,2,2), imshow(J), title('Image with Gaussian Noise');
```
上述例子中的第二个参数指定了要加入的是高斯类型的噪声;第三个和第四个参数分别代表了期望值(即均值,默认设为0)以及相对强度因子(决定了实际使用的方差),这里设置成较小数值以控制噪音程度不至于过大影响视觉效果[^4]。
阅读全文