图片添加高斯噪声matlab
时间: 2023-07-29 13:09:22 浏览: 39
在Matlab中,您可以使用imnoise函数向图像添加高斯噪声。下面是一个示例代码,演示如何添加高斯噪声到一张图像:
```matlab
% 读取图像
image = imread('image.jpg');
% 添加高斯噪声
noisy_image = imnoise(image, 'gaussian', mean, variance);
% 显示原始图像和添加噪声后的图像
figure;
subplot(1, 2, 1);
imshow(image);
title('原始图像');
subplot(1, 2, 2);
imshow(noisy_image);
title('添加高斯噪声后的图像');
```
在上述代码中,您需要将'image.jpg'替换为您自己的图像文件路径。mean和variance是高斯分布的均值和方差,您可以根据需要自行调整它们的值。
希望这可以帮助到您!如果您有任何其他问题,请随时问我。
相关问题
高斯噪声matlab
在Matlab中生成高斯噪声可以使用`randn`函数,该函数可以生成一个指定大小的随机矩阵,其中每个元素都是服从标准正态分布的随机数。你可以使用`randn`函数生成高斯噪声矩阵,示例如下:
```matlab
% 生成大小为100x100的高斯噪声矩阵
noise = randn(100, 100);
```
如果你需要指定高斯噪声的均值和方差,可以对生成的噪声矩阵进行线性变换,示例如下:
```matlab
% 生成大小为100x100的均值为0,方差为1的高斯噪声矩阵
noise = randn(100, 100);
% 对噪声矩阵进行线性变换
mean_val = 0;
var_val = 1;
noise = mean_val + sqrt(var_val) * noise;
```
上述代码中,`mean_val`和`var_val`分别为高斯噪声的均值和方差,`sqrt(var_val)`用于对噪声进行标准化处理。
加高斯噪声的matlab代码
下面是一个加高斯噪声的matlab代码示例:
```matlab
% 生成一个100x100的矩阵
A = rand(100);
% 添加高斯噪声
sigma = 0.1; % 噪声的标准差
noise = sigma * randn(size(A)); % 生成与A相同大小的高斯噪声
B = A + noise; % 将噪声添加到A中
% 显示原始矩阵和带有噪声的矩阵
subplot(1,2,1)
imagesc(A)
axis image off
title('Original')
subplot(1,2,2)
imagesc(B)
axis image off
title(['With Gaussian noise (sigma = ' num2str(sigma) ')'])
```
运行结果如下图所示,左边是原始矩阵,右边是添加高斯噪声后的矩阵:
![加高斯噪声的matlab代码示例运行结果](https://i.imgur.com/1YQYI0f.png)