当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 基于均值+中值+高通低通+巴特沃斯+PCA+小波+维纳滤波七种算法实现图像去噪。 2 部分代码 function I=PCA_filtering(I0) [M,N] = size(I0); f = double(I0); bs = 16; %图像块尺寸 p = 30; %保留的维数

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 仿真结果

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

4 参考文献

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

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

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

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



【文章转自台湾大带宽服务器 http://www.558idc.com/tw.html提供,感恩】
网友评论