均值、中值、高斯、维纳、小波、NL-means的图像去噪的matlab程序

该博客介绍了如何使用MATLAB进行图像去噪,包括均值、中值、高斯、维纳滤波器的方法,以及小波重构和NL-means算法。同时,提供了这些方法的PSNR和SSIM指标对比。
摘要由CSDN通过智能技术生成

1.均值、中值、高斯、维纳图像去噪

clc
clear
g = rgb2gray(imread('chuzao.jpg'));
zyy = imread('y.jpg');
g1 = imfilter(g, fspecial('average'));%均值滤波
g2 = medfilt2(g, [3 3]); %3*3中值滤波
h_gaosi1 = fspecial('gaussian',3,1);
g3 = imfilter(g, h_gaosi1); %高斯平滑滤波
g4 = wiener2(g,[5 5]);  %5*5维纳滤波
subplot(3, 2, 1), imshow(zyy), title('原图');
subplot(3, 2, 2), imshow(g), title('待处理噪声');
subplot(3, 2, 3), imshow(g1), title('均值滤波');
subplot(3, 2, 4), imshow(g2), title('中值滤波');
subplot(3, 2, 5), imshow(g3), title('高斯平滑滤波');
subplot(3, 2, 6), imshow(g4), title('维纳滤波');
%下面是计算PSNR和SSIM的程序口令
psnr(zyy,g)
psnr(zyy,g1)
psnr(zyy,g2)
psnr(zyy,g3)
psnr(zyy,g4)
ssim(zyy,g1)
ssim(zyy,g2)
ssim(zyy,g3)
ssim(zyy,g4)

2.小波重构除噪

clc
clear; 
zyy = imread('y.jpg'); %读取原图像
subplot(221);
imshow(zyy); 
title('原图');   
X=imread('chuzao.jpg');            
X=rgb2gray(X);
subplot(222);          
imshow(X);      
  • 10
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值