频域滤波(matlab)

这篇具有很好参考价值的文章主要介绍了频域滤波(matlab)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

频域滤波

频率域图像增强首先通过傅里叶变换将图像从空间域转变成频率域,然后在频率域内对图像进行处理,最后通过傅里叶反变换转换到空间域。频率域内的图像增强通常包括低通滤波、高通滤波、同态滤波等。
设f(x,y)为原始图像函数,h(x,y)为滤波器脉冲响应函数,则空域内的滤波是基于卷积运算的:g(x,y) = f(x,y)*h(x,y),其中h(x,y)可以是低通或高通滤波,g(x,y)为空域滤波的输出图像函数,根据卷积定理,上式的傅里叶变换如下:G(u,v) = F(u,v)H(u,v)。其中G(u,v)、F(u,v)和H(u,v)分别对g(x,y)、f(x,y)和h(x,y)的傅里叶变换。H(u,v)为滤波系统的传递函数,根据具体的要求进行设计,再与F(u,v)相乘,即可获得频谱改善的G(u,v),从而实现低通或高通等滤波。最后求G(u,v)的傅里叶反变换,可以获得滤波后的图像g(x,y)。频域滤波的关键是G(u,v)的设计。

低通滤波

让低频率通过而滤掉或衰减高频,过滤掉包含在高频中的噪声,所以低通滤波的效果是图像去噪声平滑增强,但同时抑制图像的边界,造成图像不同程度上的模糊。对于大小为MxN的图像,频率点(u,v)与频域中心的距离为D(u,v),其表达式为:
频域滤波(matlab)

理想低通滤波器

理想低通滤波器在半径为D0的范围内,所有频率都可以没有衰减的通过滤波器,该半径之外的所有频率都完全被衰减掉。理想低通滤波器具有平滑图像的作用,但是有严重的振铃现象。
频域滤波(matlab)

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I = im2double(I);
>> M = 2*size(I,1);%滤波的行数
>> N = 2*size(I,2);%滤波的列数
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [u,v] = meshgrid(u,v);
>> D = sqrt(u.^2+v.^2);
>> D0 = 80;%截至频率
>> H = double(D<D0);%理想低通滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));%时域图像转换到频域
>> K = J.*H;%滤波处理
>> L = ifft2(ifftshift(K));%傅里叶反变换
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);%原图
>> subplot(122),imshow(L);%显示滤波后的图像

频域滤波(matlab)

巴特沃斯低通滤波器

频域滤波(matlab)
D0表示:巴特沃斯低通滤波器的截止频率,参数n为巴特沃斯滤波器的阶数,n越大则滤波器的形状越陡峭。

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I = im2double(I);
>> M = 2*size(I,1);
>> N = 2*size(I,2);
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [u,v] = meshgrid(u,v);
>> D = sqrt(u.^2+v.^2);
>> D0=50;
>> n = 6;
>> H = 1./(1+(D./D0).^(2*n));%设计巴特沃斯滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));
>> K = J.*H;
>> L = ifft2(ifftshift(K));
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);
>> subplot(122),imshow(L);

频域滤波(matlab)

高通滤波

衰减或抑制低频分量,让高频分量通过称为高通滤波,其作用是使图像得到锐化处理,,突出图像的边界。经理想高频滤波后的图像把信息丰富的低频去掉了,丢掉了许多必要的信息。一般情况下,高通滤波对噪声没有任何抑制作用,若简单的使用高通滤波,图像质量可能由于噪声严重难以达到满意的改善的效果。为了既加强图像的细节又抑制噪声,可采用高频加滤波。这种滤波器实际上是由一个高通滤波和一个全通滤波器构成的,这样便能够在高通滤波的基础上保留低频信息。

理想高通滤波器

频域滤波(matlab)

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I = im2double(I);
>> M = 2*size(I,1);%滤波的行数
>> N = 2*size(I,2);%滤波的列数
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [u,v] = meshgrid(u,v);
>> D = sqrt(u.^2+v.^2);
>> D0 = 80;%截至频率
>> H = double(D>D0);%理想低通滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));%时域图像转换到频域
>> K = J.*H;%滤波处理
>> L = ifft2(ifftshift(K));%傅里叶反变换
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);%原图
>> subplot(122),imshow(L);%显示滤波后的图像

频域滤波(matlab)

巴特沃斯高通滤波器

频域滤波(matlab)

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I=imread('E:\persional\matlab\images\ad2.tif');
>> I = im2double(I);
>> M = 2*size(I,1);
>> N = 2*size(I,2);
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [U,V] = meshgrid(u,v);
>> D = sqrt(U.^2+V.^2);
>> D0 = 30;
>> n = 6;
>> H = 1./(1+(D0./D).^(2*n));%设计滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));
>> K = J.*H;
>> L = ifft2(ifftshift(K));
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);
>> subplot(122),imhsow(J);

频域滤波(matlab)

高斯高通滤波器

频域滤波(matlab)

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I=imread('E:\persional\matlab\images\ad2.tif');
>> I = im2double(I);
>> M = 2*size(I,1);
>> N = 2*size(I,2);
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [U,V] = meshgrid(u,v);
>> D = sqrt(U.^2+V.^2);
>> D0 = 30;
>> n = 6;
>> H = 1-exp(-(D.^2)./(2*(D0^2)));%设计滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));
>> K = J.*H;
>> L = ifft2(ifftshift(K));
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);
>> subplot(122),imhsow(J);

频域滤波(matlab)

带阻滤波器

带阻滤波器是用来抑制距离频率中心一定距离的一个圆环区域的频率,可以消除一定频率范围的周期噪声。

理想带阻滤波器

频域滤波(matlab)
D0为需要阻止的频率点与频率中心的距离,W为带阻滤波器的宽度。

巴特沃斯带阻滤波器

频域滤波(matlab)
D0为需要阻止的频率点与频率中心的距离,W为带阻滤波器的宽度,n为巴特沃斯滤波器的阶数。

高斯带阻滤波器

频域滤波(matlab)
D0为需要阻止的频率点与频率中心的距离,W为带阻滤波器的宽度。

>> I=imread('E:\persional\matlab\images\ad1.tif');
>> I = im2double(I);
>> M = 2*size(I,1);%滤波的行数
>> N = 2*size(I,2);%滤波的列数
>> u = -M/2:(M/2-1);
>> v = -N/2:(N/2-1);
>> [u,v] = meshgrid(u,v);
>> D = sqrt(u.^2+v.^2);
>> D0 = 60;%截至频率
>> W = 30;%滤波器宽度
>> H = double(or(D<(D0-W/2),D>D0+W/2));%设计滤波器
>> J = fftshift(fft2(I,size(H,1),size(H,2)));%时域图像转换到频域
>> K = J.*H;%滤波处理
>> L = ifft2(ifftshift(K));%傅里叶反变换
>> L = L(1:size(I,1),1:size(I,2));
>> figure,
>> subplot(121),imshow(I);%原图
>> subplot(122),imshow(L);%显示滤波后的图像

频域滤波(matlab)

同态滤波

同态滤波是一种特殊的滤波技术,可以压缩图像灰度的动态范围,且增强对比度。
同态滤波的目的:消除不均匀照度的影响而又不损失图象细节。其依据:图象的灰度由照射分量和反射分量合成。反射分量反映图象内容,随图象细节不同在空间上作快速变化。照射分量在空间上通常均具有缓慢变化的性质。照射分量的频谱落在空间低频区域,反射分量的频谱落在空间高频区。
步骤如下:
图像f(x,y)由于照射分量i(x,y)和反射分量r(x,y)表示:f(x,y) = i(x,y)*r(x,y)
对图像取对数:z(x,y) = ln[f(x,y)]=ln[i(x,y)]+ln[r(x,y)]
进行傅里叶变换:F{z(x,y)} =F{ln[f(x,y)]}=F{ln[i(x,y)]}+F{ln[r(x,y)]},即为Z(u,v) = I(u,v)+R(u,v)
设计滤波器的传递函数:H(u,v),S(u,v) = Z(u,v)*H(u,v)
进行傅里叶反转:s(x,y) = F^-1{S(u,v)}
对s(x,y)取指数:g(x,y) = exp(s(x,y))
1.灰度图像的同态滤波

>> I=imread('E:\persional\matlab\images\ba.tif');
>> J = log(im2double(I)+1);
>> K = fft2(J);%傅里叶变换
>> n = 5;%同态滤波参数
>> D0 = 0.1*pi;
>> rh = 0.7;
>> rl = 0.4;
>> [row,column] = size(J);
>> for i=1:row%设计滤波器
		for j=1:column
			D1(i,j) = sqrt(i^2+j^2);
			H(i,j) = rl+(rh/(1+(D0/D1(i,j))^(2*n)));
		end
	end
>> L = K.*H;%滤波
>> M = ifft2(L);傅里叶反转
>> N = exp(M)-1;%取指数
>> figure,
>> subplot(121),imshow(I);
>> subplot(122),imshow(real(N));%显示同态滤波后的图像

频域滤波(matlab)
2.RGB图像的同态滤波文章来源地址https://www.toymoban.com/news/detail-455403.html

I=imread('E:\persional\matlab\images\ad1.tif');   
I=double(rgb2gray(I));    
[M,N]=size(I);    
rL=0.5;    
rH=5;%根据需要调整参数    
c=4;    
d0=9;    
I1=log(I+1);%取对数    
FI=fft2(I1);%傅里叶变换    
n1=floor(M/2);    
n2=floor(N/2);    
for i=1:M    
    for j=1:N    
        D(i,j)=((i-n1).^2+(j-n2).^2);    
        H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;%高斯同态滤波    
    end    
end    
I2=ifft2(H.*FI);%傅里叶逆变换    
I3=real(exp(I2));  
subplot(121),imshow(I)  
subplot(122),imshow(I3);title('同态滤波增强后');  

到了这里,关于频域滤波(matlab)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (数字图像处理MATLAB+Python)第七章图像锐化-第四节:频域高通滤波与综合案例

    频域高通滤波 :是一种基于频域表示的图像处理技术,用于增强或突出图像中高频成分的方法。它通过将图像转换到频域,应用高通滤波器来抑制或减弱低频成分,从而增强图像的边缘和细节 在频域中,可以设计各种类型的高通滤波器来实现不同的频率响应 理想的高通滤波

    2024年02月08日
    浏览(55)
  • 13.1 非线性变化的图像增强和补偿——滤波器对图像作增强提高视觉质量(matlab程序)

    1. 简述        图像的线性变换和非线性变换,逐像素运算就是对图像的没一个像素点的亮度值,通过一定的函数关系,转换到新的亮度值。这个转换可以由函数表示: s = f ( r ) s = f( r )s=f(r) 其中r为原来的像素值,s为新的像素值,通常采用的函数了单调函数进行变换。 线性

    2024年02月12日
    浏览(36)
  • MATLAB学习——低通滤波(频域滤波(一))

    目录 1.概论 2.低通滤波 (1)理想低通滤波     代码(理想低通滤波) (2)巴特沃斯低通滤波器    代码(巴特沃斯低通滤波) (3)高斯低通滤波器   频率域图像增强首先通过傅立叶变换将图像从空间域转换到频率域,在频率域对图像进行处理,处理后再将图像进行傅立

    2023年04月12日
    浏览(57)
  • 频域滤波(matlab)

    频域滤波 频率域图像增强首先通过傅里叶变换将图像从空间域转变成频率域,然后在频率域内对图像进行处理,最后通过傅里叶反变换转换到空间域。频率域内的图像增强通常包括低通滤波、高通滤波、同态滤波等。 设f(x,y)为原始图像函数,h(x,y)为滤波器脉冲响应函数,则

    2024年02月06日
    浏览(36)
  • Python图像处理:1.插值、频域变换与对比度增强

    7.图像的插值 (1)原理介绍 下面对比三种插值方法,分别是最近邻插值法、双线性插值法、卷积插值法,三种方法的前提和特点、优缺点、适用场景如下: 最近邻插值(Nearest Neighbor Interpolation) : 前提与特点 :这是最简单的插值方法,不考虑相邻像素的影响,只取最近的像

    2024年03月13日
    浏览(58)
  • 数字图像处理Malab/C++(三)傅里叶变换及频谱图、频域滤波

    1、选择任意灰度图像。计算和显示原始图像的频谱振幅和任意因子缩放的同一图像的频谱振幅。 2、选择任意灰度图像。计算和显示原始图像的频谱振幅和任意角度旋转的同一图像的频谱振幅。 3、 使用标准Lena灰度图片,添加高斯噪声imnoise(I,‘gaussian’, 0.05) 。请用合适的频

    2024年02月06日
    浏览(45)
  • MATLAB中滤波函数、频率响应函数以及频率响应函数不同表达形式的转换

            频率响应函数的表达式:         对应的z变换的多项表达式:         Z变换的零极点表达形式:         Z变换的二阶因子级联形式: filter函数,仅可以用于零状态响应系统。         y=filter(b,a,x) ;                %b为z变换多项表达式公式中[b0,b1...bM]的矩阵

    2024年02月07日
    浏览(46)
  • 【图像处理:频率域平滑与锐化】理想滤波器,巴特沃思滤波器,高斯滤波器

    本文主要介绍频率域滤波器,此处的频率域是基于傅立叶变换得出。 在一幅图像中, 低频对应图像变化缓慢的部分 ,即图像大致外观和轮廓。 高频部分对应图像变化剧烈的部分即图像细节 。低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频

    2024年02月04日
    浏览(50)
  • 医学影像图像去噪:滤波器方法、频域方法、小波变换、非局部均值去噪、深度学习与稀疏表示和字典学习

            医学影像图像去噪是指使用各种算法从医学成像数据中去除噪声,以提高图像质量和对疾病的诊断准确性。MRI(磁共振成像)和CT(计算机断层扫描)是两种常见的医学成像技术,它们都会受到不同类型噪声的影响。         在医学影像中,噪声可能来源于多

    2024年04月26日
    浏览(39)
  • 图像处理与计算机视觉--第四章-图像滤波与增强-第二部分

    目录 1.图像噪声化处理与卷积平滑 2.图像傅里叶快速变换处理 3.图像腐蚀和膨胀处理 4 图像灰度调整处理 5.图像抖动处理算法    

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包