0
点赞
收藏
分享

微信扫一扫

【图像去噪】基于均值+中值+高通低通+巴特沃斯+PCA+小波+维纳滤波实现图像去噪含Matlab源码

幸甚至哉歌以咏志 2022-03-30 阅读 63
matlab

1 简介

基于均值+中值+高通低通+巴特沃斯+PCA+小波+维纳滤波七种算法实现图像去噪。

2 部分代码

function I=PCA_filtering(I0)[M,N] = size(I0);f = double(I0);bs = 16;   %图像块尺寸p = 30;    %保留的维数% PCA图像压缩g = im2col(f, [bs bs], 'distinct'); %将图像块转换成列矢量表示g_m = mean(g')'*ones(1,size(g,2));   %计算每个块的灰度均值g = g - g_m;covarianceMatrix = g*g'/size(g,2);%求协方差矩阵[E, D] = eig(covarianceMatrix);[~,order] = sort(diag(D),'descend');E = E(:,order);d = diag(D); D = diag(d(order));E_proj = E(:,1:p);   %取最大的p个特征值所对应的特征矢量进行降维g_proj = g'*E_proj;  %从bs*bs维映射到p维% 恢复图像g_rec = g_proj*E_proj';s = g_rec' + g_m;s = col2im(s, [bs bs], [M N], 'distinct');I=uint8(s);end

3 仿真结果

4 参考文献

[1]李明喜, and 吴鸿霞. "基于小波变换和中值滤波的图像去噪方法研究." 黄石理工学院学报 23.3(2007):16-19.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

举报

相关推荐

0 条评论