图像处理分析_FFT

图像处理分析_FFT

ID:45586257

大小:599.93 KB

页数:10页

时间:2019-11-15

图像处理分析_FFT_第1页
图像处理分析_FFT_第2页
图像处理分析_FFT_第3页
图像处理分析_FFT_第4页
图像处理分析_FFT_第5页
资源描述:

《图像处理分析_FFT》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验名称实验5:频域滤波实验目的掌握图像进行频域滤波的方法和步骤。1、掌握图像频域DFT变换和反变换的方法。2、掌握图像频域滤波的步骤实验内容1、灰度图像的DFT和IDFTo具体内容:利用OpenCV提供的cvDFT函数对图像进行DFT和IDFT变换2、利用理想高通和低通滤波器对灰度图像进行频域滤波具体内容:利用cvDFT函数实现DFT,在频域上利用理想高通和低通滤波器进行滤波,并把滤波过后的图像显示在屏幕上(观察振铃现象),要求截止频率可输入。3、利用布特沃斯高通和低通滤波器对灰度图像进行频域滤波。具体内容:利用cvDFT函数实现DFT,

2、在频域上进行利用布特沃斯高通和低通滤波器进行滤波,并把滤波过后的图像显示在屏幕上(观察振铃现象),要求截止频率和n可输入。实验完成情况1、实验步骤:利用OpenCV提供的cvDFT函数对图像进行DFT和IDFT变换核心代码如下://DFT变换Ipllmage*DFT(IplImage*src){Ipllmage*fourier=cvCreateImage(cvGetSize(src),IPL_DEPTH_64F,2);intdft_H,dft_W;dft_H=src->height;dft_W=src->width;CvMat*src_Re

3、=cvCreateMat(dft_H,dft_W,CV_64FC1);//doubleRe,Im;CvMat*src」m=cvCreateMat(dft_H,dft_W,CV_64FC1);//ImaginarypartCvMat*sum_src=cvCreateMat(dft_H,dft_W,CV_64FC2);//2channels(src_Re,src_Im)CvMat*sum_dst=cvCreateMat(dft_H,dft_W,CV_64FC2);//2channels(dst_Re,dst_Im)cvConvert(src,s

4、rc_Re);cvZero(src_Im);cvMerge(src_Re,src_Im,0,0,sum_src);cvDFT(sum_src,sum_dst,CV_DXT_FORWARD,0);cvConvert(sum_dst,fourier);cvReleaseMat(&src_Re);cvReleaseMat(&src_【m);cvReleaseMat(&sum_s『c);cvReleaseMat(&sum_dst);returnfourier;}//DFT反变换Ipllmage*IDFT(IplImage*fourier){Ipll

5、mage*dst=cvCreateImage(cvGetSize(fourier),IPL_DEPTH_8U,1);intdft_H,dft_W;dft_H=fourier->height;dft_W=fourier->width;CvMat*dst_Re二cvCreateMat(dft_H,dft_W,CV_64FC1);//doubleRe,Im;CvMat*dst_Im=cvCreateMat(dft_H,dft_W,CV_64FC1);//ImaginarypartCvMat*sum_dst=cvCreateMat(dft_H,df

6、t_W,CV_64FC2);//2channels(dst_Re,dst_Im)CvMat*sum_src=cvCreateMat(dft_H,dft_W,CV_64FC2);cvConvert(fourier,sum_src);cvDFT(sum_src,sum_dst,CV_DXT_INV_SCALE,O);cvSplit(sum_dst,dst_Re,dst_Im,O,O);cvConvert(dst_Re,dst);cvReleaseMat(&dst_Re);cvReleaseMat(&dst_Im);cvReleaseMat(&s

7、um_src);cvReleaseMat(&sum_dst);returndst;1〃归一化,将灰度映射到0~255之间,并将能量最高的四角移到中心,生成图片频域能量图voidBuildDFTImage(IplImage*fourier,Ipllmage*dst){Ipllmage*image_Re=0,*image_Im=0;image_Re=cvCreateImage(cvGetSize(fourier),IPL_DEPTH_64F,1);image_Im=cvCreateImage(cvGetSize(fourier),1PL_DEP

8、TH_64F,1);//ImaginarypartcvSplit(fourier,image_Re,image_Im,0,0);//Computethemagnitudeofth

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。