转自:http://www.cnblogs.com/gemstone/articles/2285999.html
下载OpenCV
- 从 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
- 将 OpenCV-2.3.1-win-superpack.exe 解压并放到某个目录下,例如 C:\Program Files\opencv (无需运行setup.exe,解压则可)。
配置include路径
也即告诉VC去什么地方寻找OpenCV的头文件,打开VC,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含 C:\Program Files\opencv\build\include;C:\Program Files\opencv\build\include\opencv;C:\Program Files\opencv\build\include\opencv2
配置lib路径
也即告诉VC去什么地方寻找OpenCV的库文件。
在刚才下载的文件OpenCV-2.3.1-win-superpack.exe 里,已经为VC2008和VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV
- 自己编译的库,库目录为:
D:\Program Files\opencv\build\my\install\lib
- 32位系统 & VC2008,库目录为:
C:\Program Files\
opencv
\build\x86\vc9\lib - 32位系统 & VC2010,库目录为:
C:\Program Files\
opencv
\build\x86\vc10\lib - 64位系统 & VC2008,库目录为:
C:\Program Files\
opencv
\build\x64\vc9\lib - 64位系统 & VC2010,库目录为:
C:\Program Files\
opencv
\build\x64\vc10\lib
设置环境变量
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:
- 自己编译的库,dll目录为:C:\Program Files\opencv\build\my\install\bin
- 32位系统 & VC2008,dll目录为:C:\Program Files\opencv\build\x86\vc9\bin
- 32位系统 & VC2010,dll目录为:C:\Program Files\opencv\build\x86\vc10\bin
- 64位系统 & VC2008,dll目录为:C:\Program Files\opencv\build\x64\vc9\bin
- 64位系统 & VC2010,dll目录为:C:\Program Files\opencv\build\x64\vc10\bin
由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:
- 32位系统 & VC2008:C:\Program Files\opencv\build\common\tbb\ia32\vc9
- 32位系统 & VC2010:C:\Program Files\opencv\build\common\tbb\ia32\vc10
- 64位系统 & VC2008:C:\Program Files\opencv\build\common\tbb\intel64\vc9
- 64位系统 & VC2010:C:\Program Files\opencv\build\common\tbb\intel64\vc10
如下图所示将OpenCV和TBB的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效
Rob Hess的SIFT算法在VC.net下实现
下载地址:http://web.engr.oregonstate.edu/~hess/downloads/sift/sift-latest_win.zip
RoB Hess的源码是针对VC.net的,如果在VC2008下,需要作一些修改
1. 在utils.c文件中加入 #include <stdarg.h>
2. 将siftfeat.c中的
char* img_file_name = "..\\beaver.png";
char* out_file_name = "..\\beaver.sift";
分别改为(就是删除一个点)
char* img_file_name = ".\\beaver.png";
char* out_file_name = ".\\beaver.sift";
3. 将C:\Program Files\opencv\build\common\tbb\ia32\vc9下的tbb.dll备份一份并改名为tbb_debug.dll,否则在调试时会报错找不到tbb_debug.dll。
源代码文件夹下包括siftFeat、dspFeat和match文件夹,分别对应特征点查找、显示和匹配,每个文件夹下面在现成的工程,直接打开即可调试。