matlab生成一段图像加噪平滑处理的代码
时间: 2023-11-03 13:09:20 浏览: 50
以下是MATLAB生成一段图像加噪平滑处理的代码:
```MATLAB
% 加载图像
img = imread('image.jpg');
% 添加高斯噪声
noise = randn(size(img)).*20;
img_noise = uint8(double(img)+noise);
% 中值滤波平滑处理
img_smooth = medfilt2(img_noise);
% 显示处理后的图像
subplot(1,3,1);
imshow(img);
title('原图');
subplot(1,3,2);
imshow(img_noise);
title('加噪后');
subplot(1,3,3);
imshow(img_smooth);
title('平滑后');
```
希望这能帮助到你!
相关问题
我需要一段matlab 图像平滑的代码
你好,以下是一个简单的 MATLAB 图像平滑代码示例:
```matlab
% 读取图像
img = imread('image.jpg');
% 使用 5x5 中值滤波器进行图像平滑
smoothedImg = medfilt2(img,[5 5]);
% 显示结果图像
imshow(smoothedImg);
```
以上代码中,我们使用 MATLAB 自带的 medfilt2 函数对图像进行中值滤波处理,从而实现图像平滑。具体而言,我们将图像中每个像素的值替换为它周围的像素值的中位数,以达到平滑的效果。
用matlab语言生成一段图像加密算法的代码
以下是一个基于RSA算法的图像加密和解密的Matlab代码示例:
```matlab
% 图像加密算法
% 读入需要加密的图像
I = imread('lena.jpg');
% 将图像转化为一维向量
I_vec = reshape(I, [], 1);
% 生成RSA公钥和私钥
[p, q] = primes(1000);
n = p * q;
phi = (p-1) * (q-1);
e = 3;
d = modinv(e, phi);
% 加密图像向量
I_encrypted = mod(I_vec.^e, n);
% 解密图像向量
I_decrypted = mod(I_encrypted.^d, n);
% 将图像向量转换为图像矩阵
I_decrypted = reshape(I_decrypted, size(I));
I_encrypted = reshape(I_encrypted, size(I));
% 显示加密和解密后的图像
subplot(1,3,1);
imshow(I);
title('原始图像');
subplot(1,3,2);
imshow(I_encrypted);
title('加密后的图像');
subplot(1,3,3);
imshow(I_decrypted);
title('解密后的图像');
```
该算法使用了RSA算法对图像进行加密和解密,其中公钥为(n,e),私钥为(n,d)。首先将图像转化为一维向量,然后将向量中的每个元素进行加密和解密操作,最后将向量恢复为原始图像矩阵。请注意,在实际应用中,RSA算法可能不够安全,需要使用更加复杂的加密算法来保证数据的安全性。