标签:
配置环境:Windows7+VS2012
下载资源包,解压后例如以下图:
要嵌入VS2012中,须要相应的lib文件,于是接下来使用VS2012来生成相应的lib文件
在VS2012/Common7/IDE目录中找到四个文件例如以下:
将这四个文件放到VS2012/VC/bin目录中:
在cmd操作例如以下:
出现以上情况时,表示lib.exe能够正常执行
输入下面命令:
lib /machine:i386 /def:libfftw3-3.def
lib /machine:i386 /def:libfftw3f-3.def
lib /machine:i386 /def:libfftw3l-3.def
就生成了相应的lib文件
将以上的文件分别放入VS2012安装目录中,fftw3.h放入include目录,相应的lib文件放入lib目录中,dll文件放入windows/system32目录中,配置完毕。
接下来測试FFTW库:
在VS2012中新建一个project:
包括头文件例如以下:
#include "stdafx.h" #include "fftw3.h" #include "iostream" #include <stdio.h> #include <stdlib.h> #include <string.h> #include "opencv.hpp" using namespace cv; using namespace std;
加入完毕后,抄一段代码例如以下:
void test2() { fftw_complex *in, *out; fftw_plan p; int N= 8; int i; int j; in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N); for( i=0; i < N; i++) { in[i][0] = 1.0; in[i][1] = 0.0; printf("%6.2f ",in[i][0]); } printf("\n"); p=fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(p); for(j = 0;j < N;j++) { printf("%6.2f ",out[j][0]); } printf("\n"); fftw_destroy_plan(p); fftw_free(in); fftw_free(out); system("pause"); } int main() { test2(); system("pause"); return 0; }
对图像的fft操作測试例如以下:
标签:
原文地址:http://www.cnblogs.com/gcczhongduan/p/4231472.html