首页 > 代码库 > FFTW库+VS2012配置
FFTW库+VS2012配置
配置环境: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中新建一个工程:
包含头文件如下:
#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操作测试如下:
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。