美文网首页OpenCv3.0 计算机视觉教程
Windows系统安装编译OpenCV(2)

Windows系统安装编译OpenCV(2)

作者: 很优秀的你 | 来源:发表于2018-08-18 10:31 被阅读0次

    此处的说明在Windows 7 SP1上进行了测试。 不过,它也适用于任何其他相对现代版本的Windows操作系统。 如果您在按照下述步骤操作后遇到错误,请随时留言。 我们会尽力帮助您。

    Installation by Using the Pre-built Libraries (使用预先构建的库进行安装)

    1. 启动首选的Web浏览器,然后转到Sourceforge上的页面。
    2. 选择要使用的构建并下载它。
    3. 确保您拥有管理员权限。 解压缩自解压存档。
    4. 您可以在所选路径中检查安装,如下所示。
    OpenCV_Install_Directory.png
    1. 完成安装最后一步,请转到设置OpenCV环境变量并将其添加到系统路径部分。

    安装git-bash(版本版本必须大于等于 2.14.1)和cmake(安装版本需要大于等于 3.9.1)

    1. 您必须下载cmake(版本> = 3.9.1)并安装它。 您必须在安装期间将cmake添加到PATH变量

    2. 您必须安装git-bash(版本> = 2.14.1)。 安装期间不要将git添加到PATH变量

    3. 运行git-bash前,你可以手动直接创建opencv临时目录文件夹;例如:c:/ lib中构建opencv和opencv_contrib

    4. 你也可以直接在git命令行中输入以下命令(如果文件夹不存在):

       mkdir /c/lib
       cd /c/lib
      
    5. 把以下脚本内容保存在根目录下(如c:/ lib),命名为:installOCV.sh,保存此脚本

    #!/bin/bash -e
    myRepo=$(pwd)
    CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
    if [  ! -d "$myRepo/opencv"  ]; then
        echo "cloning opencv"
        git clone https://github.com/opencv/opencv.git
        mkdir Build
        mkdir Build/opencv
        mkdir Install
        mkdir Install/opencv
    else
        cd opencv
        git pull --rebase
        cd ..
    fi
    if [  ! -d "$myRepo/opencv_contrib"  ]; then
        echo "cloning opencv_contrib"
        git clone https://github.com/opencv/opencv_contrib.git
        mkdir Build
        mkdir Build/opencv_contrib
    else
        cd opencv_contrib
        git pull --rebase
        cd ..
    fi
    RepoSource=opencv
    pushd Build/$RepoSource
    CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF     -DBUILD_DOCS:BOOL=OFF  -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON'
    cmake -G"$CMAKE_CONFIG_GENERATOR" $CMAKE_OPTIONS -DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
    echo "************************* $Source_DIR -->debug"
    cmake --build .  --config debug
    echo "************************* $Source_DIR -->release"
    cmake --build .  --config release
    cmake --build .  --target install --config release
    cmake --build .  --target install --config debug
    popd
    

    在工程配置选项中,建议你使用64位的VS 2015,具体设置如下:

    CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
    

    opencv将安装在根目录install文件下(c:/ lib / install中),设置如下:

    -DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
    

    其他选项设置如下: no Perf tests, no tests, no doc, no CUDA and no example

    CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF'
    
    1. 在git命令行中输入以下命令:

       ./installOCV.sh
      

    7.等待执行完成,大约是喝两杯咖啡时间
    8.如果你需要更新版本,只需更新:opencv 和 opencv_contrib两个文件夹,重新编译即可

    windows系统上编译OpenCV到底需要安装那些工具,这里有最全面的整理资料

    现在,我们将描述完整构建的步骤(使用所有上述框架、工具和库)。如果其中一些不需要支持,您可以直接跳过这一部分。

    Building the library

    1. 安装可以正常启动Microsoft Visual Studio
    2. 安装cmake,只需按照向导,无需将其添加到路径中。 正常选择默认安装选项。
    3. 官方网站.下载并安装最新版本的msysgit。 还有便携版本,您只需要解压缩即可访问控制台版本的Git。 便携版对于一般开发人员来说,这已经足够了。
    4. 安装TortoiseGit。 根据您使用的操作系统类型选择32位或64位版本。安装时,找到您的msysgit(如果它不自动执行此操作)。 按照向导 - 大多数情况下默认选项都可以。
    5. 在文件系统中选择一个目录,您可以在其中下载OpenCV库。 我建议创建一个具有短路径且没有特殊字符的新路径,例如D:/ OpenCV。 在本教程中,我建议您这样做。 如果你使用自己的已知的路径,你这么做,也可以。

      a. 将存储库克隆到所选目录。 单击“克隆”按钮后,将出现一个窗口,您可以从中选择要从哪个存储库下载源文件(https://github.com/opencv/opencv.git)和目录(D:/OpenCV)。
      b. 按下“确定”按钮并保持耐心,因为存储库的下载非常繁重。 这将需要一些时间取决于您的Internet连接。

    6. 在本节中,我将介绍如何安装第三方库。

      a.下载Python库并使用默认选项进行安装。 您将需要其他几个python扩展。 幸运的是,安装所有这些可以通过一个名为Setuptools的好工具自动化。 一次下载并全部安装。
      b. 安装Numpy的最简单方法是从sourceforge页面下载其二进制文件。 确保下载并安装python版本的二进制文件(因此版本为2.7.以上版本)
      c. 对于Intel Threading Building Blocks(* TBB *),下载源文件并将其解压缩到系统上的目录中。 例如:D:/ OpenCV / dep。 要安装 Intel Integrated Performance Primitives(* IPP *)和上边步骤是一样的。 为了提取压缩内容,我建议使用7-Zip应用程序。

      IntelTBB.png
      d.对于Intel IPP Asynchronous C / C ++下载源文件并设置环境变量IPP_ASYNC_ROOT。 它应该指向<您的Program Files(x86)目录> / Intel / IPP Preview */ ipp目录。 这里*表示特定的预览名称。
      e.如果是Eigen库,则再次下载并解压缩到D:/ OpenCV / dep目录。
      f. 同上方法安装OpenEXR.
      g. 对于OpenNI框架,您需要同时安装开发版PrimeSensor模块
      h. 对于CUDA,您还需要两个模块:最新的CUDA工具包CUDA Tools SDK。 根据您的操作系统,使用32位或64位设置,使用 complete选项下载并安装它们。
      i. 在Qt框架的情况下,您需要自己构建二进制文件 (除非您使用带有32位编译器的Microsoft Visual Studio 2008)。 要执行此操作,请转到Qt Downloads页面。 下载源文件 (不是安装程序!!!)
      qtDownloadThisPackage.png
      将它解压缩到一个很好的短命名目录,如D:/ OpenCV / dep / qt /。 然后你需要建立它。 通过使用开始菜单搜索启动Visual Studio命令提示符(2010)(或通过开始菜单导航所有程序 - > Microsoft Visual Studio 2010 - > Visual Studio工具 - > Visual Studio命令提示符(2010))。
    visualstudiocommandprompt.jpg

    现在导航到解压缩的文件夹,然后使用此控制台窗口在其中输入。 您应该有一个包含Install,Make等文件的文件夹。 使用dir命令列出当前目录中的文件。 到达此目录后,输入以下命令:

    configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools-no-qt3support -no-multimedia -no-ltcg
    

    完成此操作大约需要10-20分钟。 然后输入下一个需要更长时间的命令(可以轻松地花费超过一小时):

    nmake
    

    在你的操作系统(例子:window 7)上使用以下命令设置Qt环境变量之后:

      setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3
    

    另外,使用PathEditor将构建的二进制文件路径添加到系统路径。 在我们的例子中,这是 D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin.

    Note

    如果您计划进行Qt应用程序开发,您还可以在此时安装Qt Visual Studio加载项。 在此之后,您可以在不使用Qt Creator的情况下制作和构建Qt应用程序。 一切都很好地集成到Visual Studio中。

    1. 现在打开CMake(cmake-gui)。 您可以再次在开始菜单搜索中输入它,或从所有程序 - > CMake 2.8 - > CMake(cmake-gui)中获取它。 首先,选择OpenCV库源文件的目录(1)。 然后,指定一个目录,您将在其中为OpenCV(2)构建二进制文件。


      CMakeSelectBin.jpg

      按Configure按钮指定要使用的编译器(和IDE)。 请注意,如果您可以选择不同的编译器来制作64位或32位库。 选择您在应用程序开发中使用的那个。


      CMake_Configure_Windows.jpg
      CMake将启动并根据您的系统变量尝试自动定位尽可能多的包。 您可以在WITH - > WITH_X菜单点(其中X是包缩写)中修改要用于构建的包。 以下是您可以打开或关闭的当前包的列表:
      CMakeBuildWithWindowsGUI.jpg

    选择要使用的所有软件包,然后再次按 Configure按钮。 为了更简单地概述构建选项,请确保打开二进制目录选项下的Grouped选项。 对于某些软件包,CMake可能找不到所有必需的文件或目录。 在这种情况下,CMake将在其输出窗口(位于GUI的底部)中抛出错误,并将其字段值设置为未找到的常量。 例如:

    CMakePackageNotFoundWindows.jpg CMakeOutputPackageNotFound.jpg
    为此,您需要手动设置查询的目录或文件路径。然后再按一次 Configure按钮,看看您输入的值是否被接受。这样做,直到所有条目都不报错,并且您不能在GUI的字段/值或输出部分看到错误提示。现在我想强调一个您肯定会喜欢的选项:ENABLE - > ENABLE_SOLUTION_FOLDERS。OpenCV将创建许多项目,打开这个选项将确保它们被分类在解决方案资源管理器中的目录中。如果你问我如果判断它是否添加成功,这是一个必须有的特征。
    CMakeBuildOptionsOpenCV.jpg
    此外,您需要选择要构建的OpenCV的哪些部分:
    • BUILD_DOCS -> 它创建了两个用于构建OpenCV文档的项目(将有一个单独的项目来构建HTML和PDF文件)。 请注意,这些不是与解决方案一起构建的。 您需要对这些命令进行显式构建项目命令才能执行此操作。
    • BUILD_EXAMPLES -> OpenCV附带了许多示例应用程序,您可以从中学习大多数库功能。 如果OpenCV在您的计算机上完全正常运行,这也很容易尝试。
    • BUILD_PACKAGE -> 在2.3版本之前,您可以构建一个将构建OpenCV安装程序的项目。 有了这个,您可以轻松地在其他系统上安装OpenCV风格。 对于OpenCV的最新源文件,它会生成一个新项目,只需使用OpenCV源创建一个zip存档。
    • BUILD_SHARED_LIBS -> 有了这个,您可以控制构建DLL文件(打开时)或静态库文件(* .lib)。
    • BUILD_TESTS ->OpenCV的每个模块都有一个分配给它的测试项目。 构建这些测试项目也是一种很好的尝试方法,模块也可以在您的系统上按预期工作。
    • BUILD_PERF_TESTS -> 还有许多OpenCV功能的性能测试。 如果您担心性能,请构建它们并运行。
    • BUILD_opencv_python -> 不言而喻。 创建二进制文件以使用Python语言中的OpenCV。
      再次按Configure按钮,确保未报告任何错误。 如果是这种情况,您可以通过按Generat按钮告诉CMake创建项目文件。 转到构建目录并打开创建的OpenCV解决方案。 根据您选择的上述选项中的多少,解决方案可能包含很多项目,因此在启动时可以容忍IDE效率问题。 现在您需要构建Release和Debug二进制文件。
      ChangeBuildVisualStudio.jpg

    最后,您可以查看bin目录中构建的二进制文件:

    OpenCVBuildResultWindows.jpg
    对于文档,您需要在doxygen项目中为HTML文档明确发出构建命令。 它将调用Doxygen的做所有的辛勤工作。 您可以在build / doc / doxygen / html中找到生成的文档。

    要将您在自己的项目中使用的标头和二进制文件收集到一个单独的目录中(类似于预先构建的二进制文件的发布方式),您需要显式构建Install项目。

    WindowsBuildInstall.png
    创建自己的第一个程序Build oneinstall目录下,且把所有已经编译好的二进制文件链接到此工程中且放在同一个目录下,仅在构建 Release 或者 Debug 版本时候使用它
    要测试构建,只需进入Build / bin / DebugBuild / bin / Release目录并启动几个应用程序,如contours.exe。 如果可以正常启动运行,证明你就完成了所有工作。 否则,肯定会出现严重错误。 在这种情况下,您应该在我们的问答论坛上与我们联系。 如果一切正常,contours.exe输出应该类似于下图(如果使用Qt支持构建):
    WindowsQtContoursOutput.png
    Note

    如果您使用GPU模块(CUDA库),请确保您还升级到GPU的最新驱动程序。 包含(或找不到)nvcuda.dll中的无效条目的错误消息主要是由旧的视频卡驱动程序引起的。 要测试GPU(如果构建),请运行performance_gpu.exe示例应用程序。

    相关文章

      网友评论

        本文标题:Windows系统安装编译OpenCV(2)

        本文链接:https://www.haomeiwen.com/subject/qptwbftx.html