概述
matlab图像处理实现低通滤波
matlab图像处理实现低通滤波
clc;
clear all;
img=imread('lena.jpg');
img_noise = imnoise(img, 'gaussian', 0, 0.01);
subplot(2,2,1),imshow(img_noise);
title('原图像');
% 将低频移动到图像的中心,这个也很重要
s=fftshift(fft2(img_noise));
subplot(2,2,3),imshow(log(abs(s)),[]);
title('图像傅里叶变换取对数所得频谱');
% 求解变换后的图像的中心,我们后续的处理是依据图像上的点距离中心点的距离来进行处理
[a,b] = size(img);
a0 = round(a/2);
b0 = round(b/2);
d = min(a0,b0)/12;
d = d^2;
for i=1:a
for j=1:b
distance = (i-a0)^2+(j-b0)^2;
if distance
h = 1;
else
h = 0;
end
low_filter(i,j) = h*s(i,j);
end
end
subplot(2,2,4),imshow(log(abs(low_filter)),[])
title('低通滤
最后
以上就是会撒娇小笼包为你收集整理的matlab 对图像进行低通滤波,matlab图像处理实现低通滤波的全部内容,希望文章能够帮你解决matlab 对图像进行低通滤波,matlab图像处理实现低通滤波所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复