【计算机视觉】Opencv编译采坑记录

windows10 opencv相关软件版本:

Win10,Opencv3.3.0、opencv_contrib3.3.0、Cuda9.0 V9.0.176、Python3.6.3、cmake-3.9.6-win64-x64、VS2015 14.0.25420.01 Update3

下载各种版本opencv:https://opencv.org/releases.html (2017-08-03,3.3.0)

下载各种版本opencv_contrib:  https://github.com/opencv/opencv_contrib/releases (on Aug 4, 2017 3.3.0)

下载各种版本CMake:https://cmake.org/files/v3.9/  (2017-11-10, cmake-3.9.6-win64-x64.zip

 

参考文章:

https://www.cnblogs.com/xinxue/p/5766756.html

https://blog.csdn.net/poem_qianmo/article/details/21974023

https://blog.csdn.net/moxiaonuo/article/details/77823990

cmake流程:

打开cmake
填写opencv的源目录,产出目录
点击configure一下
去掉matlab
添加BUILD_DOCS、example、build_test、performance相关的
确认with_cuda,WITH_CUBLAS被勾选

(删除2.0 3.0 3.5 3.7 5.0 5.2 6.0 6.1中的2.0)
添加OPENCV_EXTRA_MODULES_PATH,opencv_contrib-master/modules目录
点击configure, generate

VS流程:

注意vs打开时使用管理员 权限,注意C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cvtres.exe的权限

 

下面仅介绍注意事项:

选择vs2105(不带64的)

注意权限问题:

1 Opencv及其产出文件尽量放在非C盘目录下

2 运行VS的时候,右键单击,选择总是以管理员方式运行,同理对Cmake_Gui等exe文件也是这般处理(在最后编译opencv的时候防止出现各种乱起八糟的问题)。

 

步骤:

1 使用Cmake Configure Opencv的Source,几步步骤参考毛星云文章。Configure过程中,可能错误如下:

  1)无法下载某些dll,手动下载对应的版本

  2)Cuda版本问题导致获取不到Cuda相关文件,如CUDA_nppi_LIBRARY (ADVANCED)。参考kmiracler文章及其回复中的Stack Overflow文章

  3)缺少unistd.h,改文件为linux下才有,在windows下,你需要手动创建该文件,输入下面内容,然后保存到某个可以被引用到的include环境变量下,如vs的,或者opencv自身的。

/** This file is part of the Mingw32 package.
* unistd.h maps     (roughly) to io.h
*/

#ifndef _UNISTD_H
#define _UNISTD_H

#include <io.h>
#include <process.h>

#endif /* _UNISTD_H */

4)注意需要两边Configure,第一遍没有红色的条目之后,第二遍加入opencv扩展包的modules路径:xxxx/opencv-3.3.0/opencv_contrib-3.3.0/modules,重新Configure到Configure done之后,进行generate。

5)之前使用的opencv3.2,cmake3.11与cmake3.8在vs编译opencv source的时候,都会出现一个“警告被当做错误”的问题,这个很麻烦,换了上面版本就好些了,不知道哪里问题

 

2. vs编译opencv source

1 无法打开:python36_d.lib的问题:使用对应的python安装包,重新安装或修复,在某一个选择下载debug文件。

2 C++ 'python33_d.lib' not found,一个是注意将该文件加入到环境变量中,另一个参考文章

3. Visual Studio: MSB3073 error exited with code 1:可能是CMAKE没有访问某个文件的权限,为其添加管理员权限。

 

其它错误:

cmake - configure 步骤

【】错误:CheckIncludeFile.c(1): fatal error C1083: 无法打开包括文件: “pthread.h”: No such file or directory

不管

 

【】CMake Error: The following variables are used in this project, but they are set to NOTFOUND

 

【】error in configuration process project files may beinvalid

1 选择的vs版本不对,

2 OPENCV_EXTRA_MODULES_PATH需要选择D:\Dev\opencv-3.3.0\opencv_contrib-3.3.0\modules,具体到modules。

3 在当前config的output里,查找错误,如缺失某种路径(很难找),其它原因如:https://blog.csdn.net/u010185989/article/details/58111115

【】Cmake编译OpenCV源码提示error MSB6006: “cmd.exe”已退出,代码为 1解决思路

https://blog.csdn.net/m0_37676674/article/details/78850280

https://blog.csdn.net/thefieryice/article/details/18548269

 

 

 

 

 

 

填写source、build目录

Configure

首先勾选BUILD_opencv_world!!!这个会让动态库的lib减少到只需要world以及ts两个,非常方便。

 

 

然后如果编译静态库,请把BUILD_SHARED_LIBS去掉!

 

如果编译动态库,就勾选上!

 

 

然后点两次Generate即可

 

 

 

 

 

 

 

 

 

Ubuntu16:

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值