標籤:des style blog http 使用 os io 檔案
配置環境: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操作測試如下: