....《OpenCV图像处理》---上机实验报告2....图像的离散傅里叶变换一、实验名称:图像的离散傅里叶变换二、实验目的:1、进一步学习OpenCV的使用方法;2、学会计算以及显示傅里叶变换后的幅度图像。三、实验内容:1、学习有关傅立叶变换的知识;2、计算并显示傅立叶变换后的幅度图像。四、实验原理:对一张图像使用傅里叶变换就是将它分解成正弦和余弦两部分,也就是将图像从空间域转换到频域,这一转换的理论基础来自于以下事实:任一函数都可以表示成无数个正弦和余弦函数的和的形式。傅里叶变换就是一个用来将函数分解的工具。计算以及显示傅里叶变换后的幅度图像的步骤如下:1、将图像延扩到最佳尺寸2、为傅立叶变化的结果分配空间3、进行离散傅立叶变换4、将复数转换为幅度5、对数尺度缩放6、剪切和重分布幅度图象限五、实验运行环境:Windows7操作系统,MicrosoftVisualC++2008ExpressEdition六、实验源代码:#include<>#include"opencv2/core/"#include"opencv2/imgproc/"#include"opencv2/highgui/"#include<iostream>usingnamespacecv;usingnamespacestd;intmain(intargc,char**argv){constchar*filename=argc>=2?argv[1]:"";MatI=imread(filename,CV_LOAD_IMAGE_GRAYSCALE);if(())return-1;Matpadded;....intm=getOptimalDFTSize();intn=getOptimalDFTSize();copyMakeBorder(I,padded,0,m-,0,n-,BORDER_CONSTANT,Scalar::all(0));Matplanes[]={Mat_<float>(padded),Mat::zeros((),CV_32F)};plexI;merge(planes,plexI);plexI);plexI,planes);magnitude(planes[0],planes[1],planes[0]);MatmagI=planes[0];magI+=Scalar::all(1);log(magI,magI);magI=magI(Rect(0,0,&-2,&-2));int
OpenCV图像的离散傅里叶变换 来自淘豆网m.daumloan.com转载请标明出处.