1 简介
加噪:高斯、椒盐等 去噪:小波、高斯、维纳及频域上的滤波(频率可调) 压缩:JPEG、小波、PCA、位平面、FFT、DCT 以上功能都集成在了GUI界面内?
2 部分代码
function out = imfreqfilt(I, ff)
% imfreqfilt函数 对灰度图像进行频域滤波
% 参数I 输入的空域图像
% 参数ff 应用的与原图像等大的频域滤镜
?
if (ndims(I)==3) && (size(I,3)==3) % RGB图像
I = rgb2gray(I);
end
?
if (size(I) ~= size(ff))
msg1 = sprintf('%s: 滤镜与原图像不等大,检查输入', mfilename);
msg2 = sprintf('%s: 滤波操作已经取消', mfilename);
eid = sprintf('Images:%s:ImageSizeNotEqual',mfilename);
error(eid,'%s %s',msg1,msg2);
end
?
% 快速傅立叶变换
f = fft2(double(I));
?
% 移动原点
s = fftshift(f);
?
% 应用滤镜及反变换
out = s .* ff; %对应元素相乘实现频域滤波
out = ifftshift(out);
out = ifft2(out);
?
% 求模值
out = abs(out);
?
% 归一化以便显示
out = out/max(out(:));
?
3 仿真结果
4 参考文献
[1]李先涛. 基于小波变换的维纳滤波器图像去噪方法的研究[D]. 吉林大学, 2003.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。