matlab图像加高斯噪声代码
时间: 2023-09-18 21:12:39 浏览: 98
可以使用以下代码将高斯噪声添加到Matlab图像中:
```matlab
I = imread('image.jpg'); % 读取图像
I = im2double(I); % 转换为双精度浮点数
sigma = 0.1; % 噪声标准差
J = imnoise(I, 'gaussian', 0, sigma^2); % 添加高斯噪声
imshow(J); % 显示图像
```
其中,`imread`函数用于读取图像,`im2double`函数用于将图像转换为双精度浮点数,`sigma`代表噪声的标准差,`imnoise`函数用于添加高斯噪声,`imshow`函数用于显示图像。你可以根据自己的需求修改代码。
相关问题
matlab图像添加高斯噪声
可以使用Matlab内置函数`imnoise`来向图像添加高斯噪声。下面是一个示例代码:
```matlab
% 读入图像
img = imread('lena.png');
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01);
% 显示原始图像和添加噪声后的图像
subplot(1,2,1), imshow(img), title('Original Image');
subplot(1,2,2), imshow(noisy_img), title('Noisy Image');
```
其中,第二个参数`'gaussian'`表示添加高斯噪声,第三个参数`0`表示噪声均值为0,第四个参数`0.01`表示噪声方差为0.01。你可以根据实际需求修改这些参数。
matlab估计图像高斯噪声的噪声水平并滤除高斯噪声
可以使用MATLAB中的"imnoise"函数添加高斯噪声,并使用"fspecial"函数创建高斯滤波器。然后使用"imfilter"函数进行滤波处理。
以下是代码示例:
```matlab
% 读入图像
img = imread('image.jpg');
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01); % 0.01为方差
% 估计噪声水平
noise_level = std2(noisy_img);
% 创建高斯滤波器
h = fspecial('gaussian', [3 3], noise_level);
% 进行滤波处理
filtered_img = imfilter(noisy_img, h);
% 显示处理结果
subplot(1, 3, 1), imshow(img), title('原图');
subplot(1, 3, 2), imshow(noisy_img), title('带噪声图像');
subplot(1, 3, 3), imshow(filtered_img), title('滤波后图像');
```
这段代码中,首先使用"imnoise"函数添加高斯噪声,然后使用"std2"函数计算噪声水平,接着使用"fspecial"函数创建高斯滤波器,最后使用"imfilter"函数对图像进行滤波处理。最终结果可以使用"imshow"函数进行显示。
阅读全文