matlab 二值图像添加高斯噪声
时间: 2023-07-13 15:12:41 浏览: 56
可以使用MATLAB的图像处理工具箱中的imnoise函数来为二值图像添加高斯噪声。以下是一个简单的示例代码:
```matlab
% 读取二值图像
bw = imread('binary_image.bmp');
% 将二值图像转换为灰度图像
gray = uint8(bw) * 255;
% 添加高斯噪声
noisy = imnoise(gray, 'gaussian', 0, 0.01);
% 显示原始图像和添加噪声后的图像
subplot(1,2,1), imshow(gray), title('原始图像');
subplot(1,2,2), imshow(noisy), title('添加噪声后的图像');
```
在这个示例代码中,我们首先读取了一个二值图像,并将其转换为灰度图像。然后使用imnoise函数为灰度图像添加高斯噪声,其中'gaussian'表示添加高斯噪声,0表示噪声的均值,0.01表示噪声的方差。最后使用subplot函数将原始图像和添加噪声后的图像显示在一个图像窗口中。
相关问题
MATLAB GUI给图像添加高斯噪声 噪声强度可调
好的,我可以帮你解决这个问题。下面是一个简单的 MATLAB GUI 代码,可以给图像添加高斯噪声,同时可以调整噪声的强度。你可以根据需要进行修改和优化。
```matlab
function add_noise_gui()
% 创建 GUI 窗口
fig = figure('Name', 'Add Gaussian Noise', 'NumberTitle', 'off', ...
'Position', [100, 100, 400, 200], 'MenuBar', 'none', ...
'ToolBar', 'none', 'Resize', 'off', 'Visible', 'on');
% 创建图像显示区域
img_ax = axes('Parent', fig, 'Units', 'pixels', ...
'Position', [50, 50, 200, 200]);
% 加载示例图像
img = imread('peppers.png');
imshow(img, 'Parent', img_ax);
% 创建滑动条和文本框
slider_txt = uicontrol('Parent', fig, 'Style', 'text', ...
'Position', [260, 160, 120, 20], 'String', 'Noise Intensity:');
slider = uicontrol('Parent', fig, 'Style', 'slider', ...
'Position', [260, 120, 120, 20], 'Min', 0, 'Max', 1, 'Value', 0, ...
'Callback', @slider_callback);
intensity_txt = uicontrol('Parent', fig, 'Style', 'edit', ...
'Position', [260, 90, 120, 20], 'String', '0');
% 回调函数,处理滑动条变化
function slider_callback(hObject, eventdata)
% 读取滑动条的值
intensity = get(hObject, 'Value');
set(intensity_txt, 'String', num2str(intensity));
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, intensity);
imshow(noisy_img, 'Parent', img_ax);
end
end
```
这个 GUI 窗口包含一个图像显示区域、一个滑动条和一个文本框。当滑动条的值发生变化时,会调用回调函数 `slider_callback`,在图像上添加高斯噪声,并在图像显示区域中显示添加噪声后的图像。噪声的强度可以通过滑动条进行调整。
你可以将上面的代码保存到一个名为 `add_noise_gui.m` 的文件中,并在 MATLAB 中运行。然后,你可以在 GUI 窗口中加载任意一张图像,通过滑动条调整噪声的强度,最后得到添加了高斯噪声的图像。
matlab给图像添加高斯噪声
您可以使用以下代码在 MATLAB 中给图像添加高斯噪声:
```matlab
% 读取图像
img = imread('your_image.jpg');
% 设定噪声参数
mean = 0; % 均值
variance = 0.01; % 方差
% 生成高斯噪声
noise = sqrt(variance) * randn(size(img)) + mean;
% 添加噪声
noisy_img = uint8(double(img) + noise);
% 显示图像
imshow(noisy_img);
```
在上面的代码中,您需要将 `your_image.jpg` 替换为您要添加噪声的图像的文件名。您可以通过调整 `mean` 和 `variance` 参数来控制噪声的强度。