Hunger:最近沉迷于计算光流,而opencv中计算光流的模块(calss gpu::PyrLKOpticalFlow)要求支持gpu编程,因此要下载安装CUDA和TBB,并从源码编译opencv。
具体的工具和软件版本,如下:
操作系统 | :Windows 7 旗舰版 64位 |
IDE | :Visual Studio Ultimate 2013 |
CMake | :3.4.1 |
opencv | :2.4.10 |
CUDA | :8.0.61 |
TBB | :4.4 |
1. 安装Microsoft Visual Studio 2013
Microsoft Visual Studio 2013旗舰版下载地址
2.安装CUDA
安装指导:CUDA Installation Guide for Microsoft Windows
步骤:
- 下载CUDA安装包安装(Hunger:本地安装弹窗系统版本不兼容,在线安装可正常运行)。
- 验证CUDA安装正确性
- 在命令行程序中运行nvcc -V,查看安装程序的信息
-
运行CUDA编译的examples,示例程序在(隐藏)路径C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0中,打开Samples_vs2013,build后会生成bin文件夹,在编译sample时可能会出现错误——找不到”d3dx9.h”、”d3dx10.h”、”d3dx11.h”头文件,此时可下载 DXSDK_Jun10.exe安装,安装过程可能遇到 Error Code: S1023,需要将Microsoft Visual C++ 2010 Redistributable(x86和x64)卸载。成功编译后,使用命令行运行C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release文件夹中的 deviceQuery和 bandwidthTest.
-
-
TBBROOT = D:\Program Files\TBB\tbb2017_20170226oss
3.2 建立简单的示例程序验证
修改项目属性(Hunger:在Debug和Release模式都配置一下,我试过只配置了Debug模式,然后程序运行报错应用程序无法正常启动0xc000007b。)
包含目录:D:\Program Files\TBB\tbb2017_20170226oss\include
库目录:D:\Program Files\TBB\tbb2017_20170226oss\lib\ia32\vc12
#include <tbb/tbb.h>
#include <iostream>
using namespace std;
using namespace tbb;
int main()
{
parallel_for(0, 10, [](int num) {cout << num << ": Hello TBB!" << endl; });
getchar();
return 0;
}
Hunger:目前opencv的编译还没成功,跟gpu相关的库文件(lib)没有编译出来,然而发现了光流计算的接口不一定要用前面提到的calss gpu::PyrLKOpticalFlow,果断放弃了,直接用calcOpticalFlowSF或者calcOpticalFlowPyrLK就好(opencv中有sample文件)。以后有闲情逸致再继续未竟之志吧。
References
http://blog.csdn.net/donglany/article/details/53736729
http://blog.csdn.net/fengbingchun/article/details/9831837
http://blog.csdn.net/sysuwuhongpeng/article/details/45485719
https://initialneil.wordpress.com/2014/09/25/opencv-2-4-9-cuda-6-5-visual-studio-2013/