WIN7(32位)VS2010+openCV 2.4.10+PCL 1.6.0+CUDA 6.5.14+CMake 3.2.1+SSBA-3.0配置

来源:互联网 发布:印度奶茶知乎 编辑:程序博客网 时间:2024/05/21 05:59
<span style="orphans: 2; widows: 2;"></span><pre name="code" class="cpp"><span style="font-size:18px;">1.openCV官网:http://opencv.org/,下载 version 2.4.10 不建议最新beta版本</span>
<span style="font-family: 'Courier New'; background-color: rgb(255, 255, 255);">安装教程见官网:</span><a target=_blank target="_blank" href="http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-installation" style="font-family: 'Courier New'; background-color: rgb(255, 255, 255);">http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-installation</a>

下载OpenCV-2.4.10.exe,打开extract to:D:\Program Files\openCV
在openCV文件夹中有opencv,打开包含build和sources两文件夹。

2.CMake官网:www.cmake.org下载 version 3.2.1
在Install Options中选择Add CMake to the system PATH for all users,可以在PATH中看到d:\Program Files\CMake\bin;
目标文件夹:D:\Program Files\CMake

3.下载Microsoft Visual Studio 2010,安装。
这里面有Qt的问题需要注意下,同样SQL库是否需要也要考虑。

4.PCL官网:pointclouds.org下载 不建议最新1.8版本
选择Windows MSVC 2010(32bit)_PCL 1.6.0 All-In-One Installer PDB files,注意这里面没有Qt
同第2步同,选择添加PATH,可以看到d:\Program Files\PCL 1.6.0\bin;

5.笔记本硬件显卡信息:Nvidia GeForce GT 610(2G/技嘉) 驱动版本为:9.18.13.4752
在GeForce官网上可以找到该硬件技术信息(地址http://www.geforce.cn/hardware/desktop-gpus/geforce-gt-610),为支持DirectX 11,CUDA,PhysX.
CUDA官网:https://developer.nvidia.com
在CUDA ZONE中,不下载最新的CUDA 7(没有32bit的),页面最下面,找到Legacy CUDA Toolkits,进入。找到CUDA Toolkit 6.5[August 2014]并下载。
安装地址:D:\Program Files\NVIDIA CUDA6.5,其中建议CUDA Toolkit建议不要改变路径(即为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5),将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin添加到环境变量中(或检查是否添加了),注销或重启。

6.打开CMake,在Where is the source code中选择D:\Program Files\openCV\opencv\sources文件夹,在Where to build the binaries中选择D:\Program Files\openCV\opencv\vs2010_GPU文件夹,此文件夹为手动创建。

7.点击Configure,选择Visual Studio 10,然后点Finsh。

8.如果出现红色框,勾选BUILD_EXAMPLES、WITH_CUBLAS、WITH_CUDA、WITH_CUFFT,然后再次点击Configure。

9.如果在下方信息框中有:Use Cuda:Yes(ver 6.5),表示CUDA配置正确。

10.点击Generate,则会在vs2010_GPU文件夹下生成OpenCV.sln文件。
(注意此时并没有调试openCV的环境变量路径!)

11.用vs2010打开OpenCV.sln文件,选择视图(View)-->属性管理器(Properties Manager)-->选中ALL_BUILD中的Debug(同Release)上的Microsoft.Cpp.Win32.user-->右键其属性(Properties)-->VC++目录-->包含目录(Include Directories):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include;库目录(Library Directories):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\Win32;可执行文件目录(Executable Directories):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin;

12.选中模块opencv_gpu,右键,属性-->链接器(Linker)-->输入(Input)-->忽略特定默认库(Ignore SpecificDeault Libraries):libcmt\libmtd-->完成。

13.在解决方案资源管理器中,右键“解决方案‘OpenCV(263项目)’”,运行“生成解决方案”,开始运行。

14.编译过程出现的问题:
(1)由于中英文不同,以及编译平台的默认语言格式。会出现“该文件包含不能再当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失”这样的warning。解决方法就是找到该文件,例如math_functions.h或者device_functions.h,文件-->高级保存选项-->编码(E)-->Unicode-代码页1200-->确定,保存该文件,其他文件同样处理。

(2)SURF_GPU NO IN CV::GPU. 这是因为SURF_GPU被移到了nonfree模块中,解决方法是链接opencv_nonfree2410d.lib,并且在该文件下添加: #include <opencv2/nonfree/gpu.hpp>

(3)...

15.编译成功,提示:全部重新生成:成功257个,失败0个,跳过6个。大概要花1-2个小时。点击CMakeTargets下的INSTALLbuild;会在D:\Program Files\openCV\opencv\vs2010_GPU\install文件夹下的bin文件夹中存放相应的动态库,在x86\vc10\lib文件夹下存放相应的静态库;

16.将D:\Program Files\openCV\opencv\vs2010_GPU\install\x86\vc10\bin添加到环境变量中,重启。

17.打开CMake,在Where is the source code中选择C:\Users\Aministrator\Desktop\SFM_test\source\3rdparty\SSBA-3.0文件夹,在Where to build the binaries中选择C:\Users\Aministrator\Desktop\SFM_test\source\3rdparty\SSBA-3.0\build文件夹,此文件夹为手动创建。点击Configure,随后点Generate,会生成V3D.sln文件,用Visual Studio 2010打开,进行编译,很快生成成功6个,失败0个,跳过1个。可以在...\3rdparty\SSBA-3.0\build\Debug文件夹中发现colamd.lib和V3D.lib。

18.打开vs2010,新建一个控制台应用程序,为vs2010位置OpenCV环境:选择视图(View)-->属性管理器(Properties Manager)-->选中项目的Debug(同Release)上的Microsoft.Cpp.Win32.user-->右键其属性(Properties)-->VC++目录-->包含目录(Include Directories):D:\Program Files\openCV\opencv\vs2010_GPU\install\include;D:\Program Files\openCV\opencv\vs2010_GPU\install\include\opencv;D:\Program Files\openCV\opencv\vs2010_GPU\install\include\opencv2-->确定;,库目录(Library Directories):D:\Program Files\openCV\opencv\vs2010_GPU\install\x86\vc10\lib-->确定。应用-->确定。

19.选中工程-->属性(Properties)-->配置属性(Configuration Properties)-->链接器(Linker)-->输入(Input)-->附加依赖项(Additional Dependencies)DebugRelease,添加相应的.lib库;
.lib库即为D:\Program Files\openCV\opencv\vs2010_GPU\install\x86\vc10\lib里的lib文件(注意版本不同,文件名称也不同)。Debug对应的如下列表(Release对应的文件名里没有d):
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
将这些输入-->确定-->应用-->确定。

20.源文件中输入以下代码:
<span style="font-size:18px;">#include "stdafx.h"#include <opencv2/opencv.hpp>#include <opencv2/gpu/gpu.hpp>#include <tchar.h>using namespace cv;using namespace cv::gpu;using namespace std; int _tmain(int argc, _TCHAR* argv[]){   int iDevicesNum = getCudaEnabledDeviceCount();   cout<<iDevicesNum<<endl;   return 0;}</span>


将其进行编译,生成.exe文件。
在“运行”(Win+R)中输入cmd(基本语句,dir查看当前目录,cd进入某个文件内)
,找到该文件进行执行。
只要iDevicesNum结果非0,说明安装配置正确。本人结果是1。
21.在新文件夹SFM_test\source中放入Chapter4_StructureFromMotion中的源程序。打开CMake,在Where is the source code中选择C:\Users\Aministrator\Desktop\SFM_test\source文件夹,在Where to build the binaries中选择C:\Users\Aministrator\Desktop\SFM_test\build文件夹,此文件夹为手动创建。点击Configure,随后点Generate,会生成ExploringSfMWithOpenCV.sln文件。
22.用Visual Studio 2010打开ExploringSfMWithOpenCV.sln文件,进行配置。在其包含目录、库目录和可执行文件目录均已配置成功;在ExploringSfMExec属性中-->>配置属性(Configuration Properties)-->链接器(Linker)-->输入(Input)-->附加依赖项(Additional Dependencies)DebugRelease,添加相应的.lib库,详细见第19步。如果你电脑中没有安装Qt,需去掉C:\Qt\4.8.0\lib\QtGuid4.lib,C:\Qt\4.8.0\lib\QtSqld4.lib,C:\Qt\4.8.0\lib\QtCored4.lib,这是防止编译过程中由于Qt缺失而出错。

23.编译,很快就完成了,生成:成功3个,失败0个,最新0个,跳过1个。在SFM_test\build\Debug文件夹中有ExploringSfMExec.exe文件,同样在cmd中运行。

24.该.exe文件用法为USAGE:ExploringSfMExec.exe <path_to_images> [use rich features <RICH/OF> = RICH] [use GPU <GPU/CPU>] [downscale factor = 1.0],本人输入的是ExploringSfMExec.exe c:\Users\Administrator\Desktop\pictures RICH CPU 1.0

25.pictures文件夹中为简单的chessboard图片,如下:

26.结果如下:



参考文献:
  1. Windows7 32位机上,OpenCV中配置GPU操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET 地址:http://blog.csdn.net/fengbingchun/article/details/9831837
  2. http://opencv.willowgarage.com/wiki/OpenCV_GPU
  3. http://docs.opencv.org/modules/gpu/doc/introduction.html
  4. http://wenku.baidu.com/view/81e29c6f011ca300a6c390dd.html
  5. http://blog.cuvilib.com/2011/03/22/how-to-build-opencv-2-2-with-gpu-cuda-on-windows-7/
  6. http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html



0 0
原创粉丝点击