OpenCV配置

openCV环境搭建

一个新手的总结贴


从2018/7/15开始,我就开始准备搭建openCV的环境,当时准备是VS2013+openCV。参考了部分资料,均没有成功,
然后便重新安装VS2017,准备采用VS2017+openCV,在2018/7/17号终于成功调用openCV的函数 imread imshow,
显示了一张图片。
所以写下了这份总结,以表纪念(同时练习MarkDown)


一 前期准备

因为担心官方预编译好的文件不适合本机(迷之担心),于是选择了自行编译OpenCV的源码,因此需要工具 CMake 和
Python。

二 CMake

Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++projects/workspaces),
然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,
这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

使用CMake将根据OpenCV的源代码生成OpenCV的工程文件.

  1. 先设置 source code 和 where to build the binaries
    我的设置是
    source code:D:\OpenCV\opencv-3.4.2
    where to build the binaries:D:\OpenCV \build
    其中工程放置的目标文件夹可以是任意的(不知道路径中有中文行不行)

  2. 然后点击一次Configure,可以选择搭建的工程的平台
    第二次选择了visual studio 15 2017 Win64
    然后点击[Finish] 会进行初始配置

  3. 初始配置结束,在第一个选框会出现红色的配置项,可以根据自己的需要有选择的进行编译
    这里引用几个小提示:

    1. 首先因为我们是当成库使用,不会去调试OpenCV本身,所以把和最后开发无关的开
      关关掉,比如BUILD _ DOCS,BUILD _ EXAMPLES,BUILD _ XXX _ TESTS,
      BUILD _ opencv _ ts(一些单元测试代码),BUILD_PACKAGE
      (CPACK _ BINARY _ XXX,CPACK _ SOURCE _ XXX),INSTALL _ XXX
    2. 前面说了C++ 11特性支持,当然是选择打开它,ENABLE_CXX11
    3. 为了方便项目配置和调试,在生产环境中建议打开BUILD _ opencv _ world,把
      各OpenCV模块编译成一个世界模块,这样最后生成的只有一个.lib或者.dll(后者
      需要打开BUILD _ SHARED _ LIBS开关),但在发行版本中建议按需引入相应模块
      以减少体积(除非你每个模块都有使用到)。
    4. 如果你不涉及音视频处理,可以关掉相关模块,大概包括BUILD _ opencv _
      video,BUILD _ opencv _ videoio,BUILD _ opencv _ videostab,WITH _
      1394,WITH _ GSTREAMER _ XXX

    在第一次的配置过程中(visual studio 12 2013 Win64),并没有将勾选BUILD _ opencv _ world,这
    会使得之后的链接器的配置过程变得很繁琐,虽然会变得灵活。建议勾选。

  4. 选择完需要编译的模块以后,点击Generate生成工程文件

三 VS2017

  1. 生成完毕后,D:\OpenCV\build 中就会有工程文件生成了。打开其中的
    OpenCV.sln,或者直接点击CMake界面的 Open Project

    在VS2017中,点击生成->批生成,在跳出的界面中,只选择图中两项。如果上面勾选了【BUILD _ opencv
    _ world】,这里将等待一段较长的时间,如果没有勾选,生成的时间会少很多。

  2. D:\OpenCV\build\install,该文件夹中基本上都是我们需要的东西了。
    然后把D:\OpenCV\build\install\x64\vc15\bin,添加到 环境变量 的 path 中。

  3. 然后打开VS2017,新建一个visual C++下的空项目,在视图->其他窗口->属性管理器中打开属性管理器,
    然后根据自己的电脑平台,选择相应的属性管理器,比如:Debug|x64 和 Release|x64

    右击Microsoft.Cpp.x64.user->属性
    c/c++->附加包含目录 中添加以下三个文件夹:

    链接器->常规->附加库目录 中添加以下一个文件夹:

    链接器->输入->附加依赖项 中把lib文件夹下的所有lib文件手动输入!如果之前BUILD _ opencv _ world
    没有勾选,这个时候需要输入很多;如果勾选了只需要输入两项:
    opencv _ world342d.lib
    opencv _ world342.lib
    当然上面 world 后跟的数字是自己下载的 OpenCV 的版本。

四 最后测试

  1. 在配置好的工程中,输入以下代码:

    #include  
    using namespace cv;
    int main()
    {
        Mat img = imread("1.png");
        imshow("img", img);
        waitKey(4000);
        return 0;
    }
    

    如果配置无误的话,这个时候就有图片出来啦!

五 总结

这是这个暑假的第一篇博客,希望不是最后一篇,作为一个转了专业的新手,需要更加的努力啦!!
Fighting!!

你可能感兴趣的:(OpenCV)