用matlab创建棋盘格并在棋盘格中添加高斯噪声、椒盐噪声和均匀噪声
时间: 2024-04-30 22:17:51 浏览: 136
基于matlab的图像高斯噪声和椒盐噪声的滤除.docx
好的,我可以帮你解答这个问题。以下是一些示例代码,可以用于创建棋盘格并添加不同类型的噪声。
首先,创建一个8x8的黑白棋盘格:
```
chessboard = zeros(8,8);
for i=1:8
for j=1:8
if mod(i+j,2)==0
chessboard(i,j) = 1;
end
end
end
imshow(chessboard);
```
接下来,添加高斯噪声。在这个例子中,我们将使用均值为0,方差为0.01的高斯分布来生成噪声:
```
gaussian_noise = randn(8,8)*0.1;
noisy_chessboard = chessboard + gaussian_noise;
imshow(noisy_chessboard);
```
然后,添加椒盐噪声。在这个例子中,我们将在棋盘格中随机选择一些像素,并将它们设置为黑色或白色:
```
salt_pepper_noise = rand(8,8);
noisy_chessboard = chessboard;
for i=1:8
for j=1:8
if salt_pepper_noise(i,j) < 0.05
noisy_chessboard(i,j) = 0;
elseif salt_pepper_noise(i,j) > 0.95
noisy_chessboard(i,j) = 1;
end
end
end
imshow(noisy_chessboard);
```
最后,添加均匀噪声。在这个例子中,我们将生成一个随机矩阵,并将其与棋盘格相乘:
```
uniform_noise = rand(8,8)*0.5;
noisy_chessboard = chessboard .* (1+uniform_noise);
imshow(noisy_chessboard);
```
这些是一些示例代码,可以用于创建棋盘格并添加不同类型的噪声。你可以根据自己的需要进行修改和调整。
阅读全文