
matlab中如何对图像作理想高通滤波处理
读入图像“cameraman.tif”并完成以下操作:(1)给图像加均值为0,方差为0.02的“gaussian”型噪声并显示该图像;(2)对图像分别进行理想高通滤波,理...
读入图像“cameraman.tif”并完成以下操作:(1)给图像加均值为0,方差为0.02的“gaussian”型噪声并显示该图像;(2)对图像分别进行理想高通滤波,理想高通加强滤波,截至频率为10,显示滤波后的图像; 第二部分的理想高通滤波,理想高通加强滤波函数怎么写?
展开
1个回答
2013-08-12
展开全部
I=imread('cameraman.tif');
figure(1);imshow(I);
J=imnoise(I,'gaussian',0,0.02);
figure(2);imshow(J);
J=double(J);
f=fft2(J); %采用傅里叶变换
g=fftshift(f); %数据局陈平衡
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=10;
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d>=d0
h1=1;
h2=1+0.5;
else
h1=0;
h2=0.5;
end
g1(i,j)=h1*g(i,j);
g2(i,j)=h2*g(i,j);
end
end
g1=ifftshift(g1);
g1=uint8(real(ifft2(g1))); %显示理想高通滤波结果
figure(3);imshow(g1);
title('理想高通滤波结果')
g2=ifftshift(g2);
g2=uint8(real(ifft2(g2)));
figure(4);imshow(g2); %显示理想高通加强滤波结果
title('理想高通加强滤波结果')
figure(1);imshow(I);
J=imnoise(I,'gaussian',0,0.02);
figure(2);imshow(J);
J=double(J);
f=fft2(J); %采用傅里叶变换
g=fftshift(f); %数据局陈平衡
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=10;
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d>=d0
h1=1;
h2=1+0.5;
else
h1=0;
h2=0.5;
end
g1(i,j)=h1*g(i,j);
g2(i,j)=h2*g(i,j);
end
end
g1=ifftshift(g1);
g1=uint8(real(ifft2(g1))); %显示理想高通滤波结果
figure(3);imshow(g1);
title('理想高通滤波结果')
g2=ifftshift(g2);
g2=uint8(real(ifft2(g2)));
figure(4);imshow(g2); %显示理想高通加强滤波结果
title('理想高通加强滤波结果')

2025-08-07 广告
广州赛恩科学仪器有限公司(原中大科仪)始创于2032年,是全球领先的精密测量仪器供应商和微弱信号检测方案提供商。公司以锁相放大器为核心产品,陆续推出光学斩波器、源表、功率放大器、电化学工作站、电流源等一系列产品。赛恩科仪推出的锁相放大器,覆...
点击进入详情页
本回答由赛恩科仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询