1、XXXXXXXX 大学(数字图形处理)实验报告实验名称 图像的频域处理 实验时间 年 月 日专 业 姓 名 学 号 预 习 操 作 座 位 号 教师签名 总 评 一、实验目的:1、理解图像傅立叶变换,掌握二维 FFT 函数的调用方法。2、掌握低通高通滤波对图像处理的原理,理解图像频谱的物理意义。二、实验原理:1、快速离散傅里叶变换对于一个有限长序列 ,它的傅里叶变换由下式表示:令 因此,傅里叶变换对可写成下式2、低通滤波3、高通滤波1)理想高通2)巴特沃斯高通3)指数高通),(),(,vuGIFTyxgHvuyxf0),(0),(DvuvHnvuvu20),(/1),(10Nxf10Nnuxn
2、WfuFNjjNee212, 10uxNfu三、实验内容:1.在菜单中添加一选项,然后建立消息映射函数,在函数中调用一维傅立叶变换函数,实现二维傅立叶变换,并计算图像的频谱。选择一种锐化方法对图像进行锐化操作。2.在菜单中添加一选项实现低通滤波。3.在菜单中添加一选项实现高通滤波。实验代码如下:FFT 变换的代码如下:void CDipView:OnFft() / TODO: Add your command handler code herelong w,h;long i,j;w=m_DibHead-biWidth;h=m_DibHead-biHeight;complex *TD=new c
3、omplexw*h;complex *FD=new complexw*h;for(i=0;i(m_Imagei*w+j*flag,0);zjbh bh;bh.DFFTC(FD,TD,w,h);double temp,r1,i1;for(i=0;i=255)m_Imagei*w+j=255;elsem_Imagei*w+j=(unsigned char)(temp);Invalidate();delete TD;),(/exp),(20nvuDvuHdelete FD;低通滤波的代码如下:void CDipView:OnDtlb() / TODO: Add your command handle
4、r code herelong w,h;long i,j;w=m_DibHead-biWidth;h=m_DibHead-biHeight;complex *TD=new complexw*h;complex *FD=new complexw*h;for(i=0;i(m_Imagei*w+j*flag,0);zjbh bh;bh.DFFTC(FD,TD,w,h);for(i=0;i20)FDi*w+j=complex(0,0);bh.DIFFT(TD,FD,w,h);for(i=0;ibiWidth;h=m_DibHead-biHeight;complex *TD=new complexw*h;complex *FD=new complexw*h;for(i=0;i(m_Imagei*w+j*flag,0);zjbh bh;bh.DFFTC(FD,TD,w,h);for(i=0;i(0.0,0.0);bh.DIFFT(TD,FD,w,h);for(i=0;ih;i+)for(j=0;jw;j+)m_Imagei*w+j=(abs(TDi*w+j.real()*10;Invalidate();delete TD;delete FD;实验截图:原图 快速福利叶变换高通滤波 低通滤波