Windows下编译自己的opencv3.1库

来源:互联网 发布:eago人工智能骗局 编辑:程序博客网 时间:2024/06/15 07:52

    • 安装各种软件和libraries
      • 1 CMakegui
      • 2 Python 27optionalpython-2711msi
      • 21 安装Python依赖项setuptools运行
      • 22 安装Python依赖项sphinx
      • 23 安装Python依赖项Numpy
        • 24 安装Python依赖项matplotlib方法同上
    • 运用CMake-gui生成Opencvsln
      • 1 下载opencv_contribOpenCVcontrib
      • 2 下载opencv31exe
      • 3 运用cmake
    • VS编译生成链接库
      • 1 打开mybuild下的Opencvsln
      • 2 编译debug版本库在解决方案OpenCV156个项目上面点击右键重新生成解决方案
      • 3 找到CMakeTargets中的INSTALL然后右键选择仅限于项目仅生成INSTALL
      • 4 切换到release模式下再重新生成解决方案再重复33
    • 重新配置自己的项目
      • 1 VC目录包含目录添加
      • 2 VC目录库目录添加
      • 3 链接器输入附加依赖项添加
    • 编译项目

1 安装各种软件和libraries

参考官网教程,但是很多软件没有用到,所以我就没有安装。

1.1 CMake(gui)

下载CMake 3.5.2

1.2 Python 2.7(optional)python-2.7.11.msi

将Python加入环境变量(下次就可以直接python了)

1.2.1 安装Python依赖项setuptools运行

  • python ez_setup.py
  • 会在Python27\Scripts文件夹下面生成easy_install.exe

1.2.2 安装Python依赖项sphinx

  • cd C:\Python27\Scripts
  • 运行 easy_install sphinx

1.2.3 安装Python依赖项Numpy

  • 这个略为麻烦,因为官网上没有给x64位的exe文件,一种是通过 easy_install numpy
    但是报错,更新了pip(先安装 easy_install pip),仍然不行。
  • 另一种方法:在以下网站上给出了各种whl文件。
    http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
    先是下载了amd64.whl
    然后运行pip install xxx.whl
    仍然报错:C:\Python27\Scripts>pip install “numpy-1.9.2+mkl-cp26-none-win_amd64.whl”
    numpy-1.9.2+mkl-cp26-none-win_amd64.whl is not a supported wheel on this platform.
  • 原因:版本不匹配
  • 后来下载了x32.whl的反而好了,应该是因为安装python的时候装的是32位的。[汗!]

1.2.4 安装Python依赖项matplotlib方法同上。

2 运用CMake-gui生成Opencv.sln

2.1 下载opencv_contribOpenCVcontrib

下载地址:https://github.com/Itseez/opencvcontrib\

2.2 下载opencv3.1.exe

解压为opencv,创建两个文件夹,命名为sources和mybuild
sources就是主要的:
这里写图片描述

2.3 运用cmake

  • 在where is the source code选择opencv的安装目录,我的是D:\opencv3.1\opencv\sources
  • 在where to build the binaries里面选择要将opencv编译到的目录下面,我的是:D:\opencv3.1\opencv\mybuild
  • 点击configure,在弹出的对话框内选择 Visual Studio 2013 x64 和default参数,点击finish。

3 VS编译生成链接库

3.1 打开mybuild下的Opencv.sln

3.2 编译debug版本库,在“解决方案’OpenCV’(156个项目)”上面点击右键–>重新生成解决方案。

  • 会出现找不到依赖项opencv_bioinspired310d.lib的错误。不需要用到,所以直接忽略。

3.3 找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”–>“仅生成INSTALL”。

然后就在mybuild\install中有了很多东西。

3.4 切换到release模式下,再重新生成解决方案,再重复3.3

  • 可以在install\x64\vc12下面看到bin,lib,staticlib等文件夹了。

4 重新配置自己的项目

  • 在项目名称上右键属性

4.1 VC++目录–>包含目录,添加:

  • D:\opencv3.1\opencv\mybuild\install\include

4.2 VC++目录–>库目录,添加:

  • D:\opencv3.1\opencv\mybuild\install\x64\vc12\lib
  • D:\opencv3.1\opencv\mybuild\install\x64\vc12\staticlib

4.3 链接器–>输入–>附加依赖项,添加:

前面为release,后面为debug

opencv_aruco310.lib
opencv_bgsegm310.lib
opencv_calib3d310.lib
opencv_ccalib310.lib
opencv_core310.lib
opencv_datasets310.lib
opencv_dnn310.lib
opencv_dpm310.lib
opencv_face310.lib
opencv_features2d310.lib
opencv_flann310.lib
opencv_fuzzy310.lib
opencv_highgui310.lib
opencv_imgcodecs310.lib
opencv_imgproc310.lib
opencv_line_descriptor310.lib
opencv_ml310.lib
opencv_objdetect310.lib
opencv_optflow310.lib
opencv_photo310.lib
opencv_plot310.lib
opencv_reg310.lib
opencv_rgbd310.lib
opencv_saliency310.lib
opencv_shape310.lib
opencv_stereo310.lib
opencv_stitching310.lib
opencv_structured_light310.lib
opencv_superres310.lib
opencv_surface_matching310.lib
opencv_text310.lib
opencv_tracking310.lib
opencv_ts310.lib
opencv_video310.lib
opencv_videoio310.lib
opencv_videostab310.lib
opencv_xfeatures2d310.lib
opencv_ximgproc310.lib
opencv_xobjdetect310.lib
opencv_xphoto310.lib
ippicvmt.lib

debug:

opencv_aruco310d.lib
opencv_bgsegm310d.lib
opencv_calib3d310d.lib
opencv_ccalib310d.lib
opencv_core310d.lib
opencv_datasets310d.lib
opencv_dnn310d.lib
opencv_dpm310d.lib
opencv_face310d.lib
opencv_features2d310d.lib
opencv_flann310d.lib
opencv_fuzzy310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_line_descriptor310d.lib
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_optflow310d.lib
opencv_photo310d.lib
opencv_plot310d.lib
opencv_reg310d.lib
opencv_rgbd310d.lib
opencv_saliency310d.lib
opencv_shape310d.lib
opencv_stereo310d.lib
opencv_stitching310d.lib
opencv_structured_light310d.lib
opencv_superres310d.lib
opencv_surface_matching310d.lib
opencv_text310d.lib
opencv_tracking310d.lib
opencv_ts310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib
opencv_xfeatures2d310d.lib
opencv_ximgproc310d.lib
opencv_xobjdetect310d.lib
opencv_xphoto310d.lib
ippicvmt.lib

5 编译项目

  • 报错:显示无法启动此程序,因为计算机中丢失opencv_core310.dll
  • 原因:未添加环境变量!
  • 在用户变量path下加上;D:\opencv3.1\opencv\mybuild\install\x64\vc12\bin
  • 保存,重启vs,OK!

参考资料:
[1] https://segmentfault.com/a/1190000003496009
官网:
[2] http://docs.opencv.org/3.0-last-rst/doc/tutorials/introduction/windows_install/windows_install.html#windows-installation

0 0
原创粉丝点击