读入彩色 image_Lena512rgb 图像, 加入高斯噪声并给出MATLAB代码
时间: 2024-02-19 17:57:56 浏览: 212
好的,以下是MATLAB代码实现读入彩色图像并添加高斯噪声的步骤:
```matlab
% 读入彩色图像
img = imread('image_Lena512rgb.png');
% 显示原始图像
figure, imshow(img), title('Original Image');
% 将图像转换为双精度类型
img = im2double(img);
% 设置高斯噪声的均值和方差
mean = 0;
variance = 0.01;
% 生成高斯噪声
noise = sqrt(variance) * randn(size(img)) + mean;
% 添加高斯噪声
noisy_img = img + noise;
% 将图像像素值归一化到0-1之间
noisy_img = imadjust(noisy_img, [], [], 1/255, 0);
% 显示添加噪声后的图像
figure, imshow(noisy_img), title('Noisy Image');
```
首先,我们使用`imread`函数读入彩色图像,然后使用`imshow`函数显示原始图像。接着,我们将图像转换为双精度类型,以便在添加噪声时进行数学计算。然后,我们设置了高斯噪声的均值和方差,并使用`randn`函数生成高斯噪声。最后,我们将噪声添加到原始图像中,并使用`imadjust`函数将像素值归一化到0-1之间。最终,我们使用`imshow`函数显示添加噪声后的图像。
请注意,这里的噪声是加在每个像素的RGB值上的,因此生成的噪声图像可能看起来比较奇怪。如果您想添加单一的灰度噪声而不是彩色噪声,可以先将图像转换为灰度图像,然后再添加噪声。
阅读全文