OpenCV学习- 配置
来源:互联网 发布:淘宝客开发论坛 编辑:程序博客网 时间:2024/06/07 16:03
1. 下载OpenCV2.4.9,找一个路径(比如说D:\)Extract,得到source和build两个文件夹。source包含了.hpp(source\Include)、.cpp(source\modules\)和cmake等文件,Build包含了.dll(build\x64\vc12\bin)和.lib(build\x64\vc12\lib)等文件。
这些都是可以直接用的,如果不需要GPU的支持,可以跳到步骤3。如果需要GPU的支持,则需要下载cuda,我用的是7.5.18。
2. OpenCV安装完毕后,需要:
1. 设置PC的环境变量Path(为了能找到dll):D:\opencv\build\x64\vc12\bin; D:\opencv\build\x86\vc12\bin
如果你的工程是win32的,而你只设置了x64的环境变量,那么就会出现LINK 1152错误:“模块计算机类型“x64”与目标计算机类型“X86”冲突”,可以理解,调用dll冲突了嘛。
3. 安装cuda完毕后,需要用cmake对OpenCV的lib和dll重新编译。你可以把cmake想象为一个用来跨平台编译的脚本。
3.1 第一次用cmake需要选择Generator,这里我们选Visual Studio 12 2013 Win64(之所以算Win64是因为很多CUDA的函数必须要64bit来支持)。
3.2 Configure。出现一堆红颜色的。选择WITH_CUDA,WITH_CUBLAS,WITH_OPENGL。CUDA_GENERATION选择Kepler(否则后面编译OpenCV时会报错 Unsupported gpu architecture 'compute_11'。
3.3 再次Generate。你会看到:
Other third-party libraries:
Use IPP: NO
Use Eigen: NO
Use TBB: NO
Use OpenMP: NO
Use GCD NO
Use Concurrency YES
Use C=: NO
Use Cuda: YES (ver 7.5)
Use OpenCL: YES
3.4 Generate。于是你在build下得到了OpenCV.sln。打开它,先对opencv_core和opencv_gpu Build一下,看看对不对。opencv_core的Build结果:
“正在创建库 D:/opencv/build/lib/Debug/opencv_core249d.lib 和对象 D:/opencv/build/lib/Debug/opencv_core249d.exp opencv_core.vcxproj -> D:\opencv\build\bin\Debug\opencv_core249d.dll ========== 生成: 成功 3 个,失败 0 个,最新 0 个,跳过 0 个 ==========”
此时如果弹出“需要重新加载”的对话框,点击“重新加载”。
3.5 依次进行ALL_BUILD(生成很多OpenCV项目文件)、INSTALL(在build下生成install文件夹)。
有几个没有正确生成:
opencv_contrib:2>------ 已启动生成: 项目: opencv_nonfree, 配置: Debug x64 ------
2>LINK : fatal error LNK1104: 无法打开文件“..\..\lib\Debug\opencv_gpu249d.lib”
3>------ 已启动生成: 项目: opencv_contrib, 配置: Debug x64 ------
3>LINK : fatal error LNK1104: 无法打开文件“..\..\lib\Debug\opencv_nonfree249d.lib”
4.在项目->属性->VC++目录->库目录中添加路径:D:\opencv\build\x86\vc12\lib; D:\opencv\build\x64\vc12\lib; (这里的vc12指VS2013)
否则会报错:error LNK1104: 无法打开文件“opencv_imgproc249d.lib”
因为在链接时,VS是按照库目录去找lib的。
5 在项目->属性->链接器->附加依赖项中添加lib(注意,下文lib名称中的249指的是OpenCV2.4.9,其他版本的不是这个值)
对于debug的工程有(也可以用哪个添加哪个):
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
对于Release的工程有:
opencv_imgproc249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_nonfree249.lib
opencv_objdetect249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_videostab249.lib
如果不添加,在Build时会报LNK2019 、LNK2001、LNK1120的错误:无法解析的外部符号。
- 学习OpenCV:环境配置
- OpenCV学习- 配置
- OpenCV学习笔记(1):配置OpenCV
- OpenCV学习——永久性配置opencv
- Opencv学习之环境配置
- 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置
- 【从零学习openCV】ubuntu+openCV+qt安装配置
- 【OpenCV 学习笔记】1、OpenCV的下载与配置
- OpenCV学习笔记一 OpenCV 2.49 + Eclipse 配置教程
- OpenCV学习笔记二 OpenCV 2.49 + VS2012 配置指南
- 【opencv学习笔记】(1)openCV 2.410 vs2013环境配置
- python + opencv 学习系列 0 :python + opencv 配置
- 【opencv学习之一】配置QT+opencv环境简单方法
- OpenCV学习笔记(0x00) OpenCV的安装与配置
- 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置
- 【OpenCV学习笔记】一、OpenCV介绍与安装配置
- Opencv学习——Opencv与Visual studio配置
- 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置
- 2016年3月小结
- 自定义dialog的宽度充满整个屏幕宽度的问题
- 进程,线程之间易混淆的几个问题
- POP弹性动画效果
- 获取手机总内存以及格式转化
- OpenCV学习- 配置
- Java笔记---CenOS下配置Java开发环境(OpenJDK+Tomcat8)
- py-faster-rcnn + ZF 实现自己的数据训练与检测(二)
- BBC: 寨卡病毒威胁美国,国际空间站宇航员返回地球
- Spinner使用
- codeforces 451 E Devu and Flowers
- 白盒测试-百度出来的感觉说的还是蛮详细的
- C# 随机数组游戏
- java如何操作字符串取得绝对路径中的文件名及文件夹名