1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y52ckpdu
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
基于KSVD字典学习的图像去噪方法,其可以克服冲击噪声中纹理细节丢失,图像突变干扰等影响因素。该算法的核心内容为设置字典D为DCT字典,然后采用KSVD算法对字典D的原子和相应系数矩阵进行更新,将更新后的D、相应系数矩阵和代入原始图像的估计公式,得到含噪图像的去噪结果。
4.部分源码
%是否重新训练字典
SEL = 0;
%冲击密度
nl = 0.5;
%************************************************************************
%读取图像
Is = double(imread('Pic\1.png'));
%由于仿真速度较慢,将图像大小统一变为256*256大小的图像
Is = imresize(Is,[256,256]);
%下面判断图像是否是灰度图
[R,C,K] = size(Is);
if K == 1
I0 = Is;
else
I0 = Is(:,:,1);
end
%加入冲击噪声
[I1,Ion] = impulsenoise(I0,nl,'random-value');
%进行滤波
%字典搜索参数
sigma = 5;
Th = 5;
flagInitialD= 1;
flagOMP = 1;
%去噪声滤波
I2 = medfilt2(I1,[3,3]);
%计算PSNR指标
psnrIdenoise = PSNRs(I2,I0);
%计算SSIM指标
[mssim,ssim_map] = ssim_index(I2,I0);
psnrIdenoise
mssim
05_036_m