zoukankan      html  css  js  c++  java
  • Visual Studio2013 配置opencv3.3.0 x64系统

    注:小白一个,第一次写博客,可能会有一些理解上的错误,只此记录自己测试成功的坎坷之路,已备以后查看,同时给有需要之人。

    我是win10 64 位,之前安装了visual studio 2013, 现在要安装最新版本的 opencv 3.3.0.(可能换成vs2015 配置要容易一些。)
    opencv 最新发布的几个版本(已知的 3.3.0 和3.2.0)默认支持 vs 2015。 即直接从官网下载的压缩包带有vc14 的字样,代表了vs 2015版本,vs2013相应的应该是vc12。所以不能直接应用于vs2013版本。我当时直接下载安装出错尝试修复无效,后来才发现好像不支持vs2013. 参考了多篇博客,反反复复终于运行成功。

    参考链接:
    http://blog.csdn.net/guduruyu/article/details/68482967
    http://www.cnblogs.com/dosrun/archive/2013/01/13/2858373.html
    http://blog.csdn.net/tfy1028/article/details/8660823
    http://blog.csdn.net/cv_jason/article/details/70037545

    这一部分主要参考http://blog.csdn.net/guduruyu/article/details/68482967

    1.opencv 源码 下载:
    1)官网
    2). Gihub
    两个有一点区别是 在后面生成的.lib的文件名不一样,(Gihub上是d,官网是OFF,后面就知道了)
    Gihub 下载:

    2.将源码压缩包解压到编译目录下,并在同一目录下新建build_64和msvc_2013两个文件夹,前者作为Cmake编译目录,后者作为编译后的安装目录。

    3.Cmake 3.8.0下载 链接 http://blog.csdn.net/cv_jason/article/details/70037545(来自http://blog.csdn.net/cv_jason/article/details/70037545) 或者从官网下,要下载相应版本。我不想折腾,直接用的上面这个链接.
    下载完成之后 双击安装。比较简单,具体我也不懂,直接默认选项。

    4.开始菜单 比较明显的可以找到Cmake 应用程序,打开CMake,开启编译选项的配置。设置好source code目录和build目录,点击Configure按钮,选择VS版本,这里选择的是win64 VS2013,选择本地编译器作为默认编译器,点finish,即开始配置过程。(配置过程需要一段时间,可以先干点其他的,等待初步配置完成,注意保证网络的畅通,Cmake的过程中需要下载第三方库)
    注意:路径的即为刚才解压出来的opencv所在的目录。


    5.初步配置完成,如下图所示。需要修改一下相关选项,这里只需要修改两个地方,其他默认即可,一是将CMAKE_INSTALL_PREFIX修改成之前创建的msvc2013_64目录,二是点击add Entry按钮,添加CMAKE_DEBUG_POSTFIX选项,值设为“d”,用于区分debug和release版本,否则编译安装时debug版本会被release版本覆盖。设置好后,再点击configure,配置完成后点击“generate”生成编译工程。

    6.VS2013下编译与安装。经过上一步后,我们在build_64目录下即可看到CMake生成的编译工程,如下图所示。
    打开opencv.sln,用vs2013打开,显示“正在分析解决方案中的文件...”,解析完成后.

    注意此时 要考虑在 x64 下进行编译,若debug 旁边的小框中没有x64 选项,参考http://blog.csdn.net/tfy1028/article/details/8660823 中的步骤2.( 右键解决方案->属性,

    将平台选为X64,若无此选项,则点击配置管理器,选择X64平台,若无则新建一个X64平台并选中。)

    先在Debug下对工程进行编译(BUILD->Build Solution)(即,生成——生成解决方案..._很傻的自己),编译要等一会完成(其中,可能会有报错,出现缺少python27_d.lib相关的错误,可以不必理会),完成后,将INSTALL设置为启动工程(在INSTALL右键->Set as startup project),然后进行安装(BUILD->Project Only->Build Only Install);再在Release下进行编译和安装(和Debug类似)。

    7.添加环境变量。安装完成后,我们在vs2013_64目录下即可看到一个include文件夹和x64文件夹,我们在x64目录下逐级找到bin文件夹,将bin的路径添加到系统的环境变量里,如下图所示。

    8.之后需要新建工程,.cpp文件,然后


    配置包含目录 加上三个路径 (找到自己相应的路径,include下有两个文件夹分别为opencv,opencv2)
    D:anzhuang\opencv-3.3.0\opencv\build\include;
    D:anzhuang\opencv-3.3.0\opencv\build\include\opencv;
    D:anzhuang\opencv-3.3.0\build\include\opencv2;

    在  库目录 加上路径  D:anzhuang\opencv-3.3.0\opencv\build\x64\vc12\lib;(也是找到相应的bin文件夹的位置,这里出现了vc12,而不是直接安装opencv3.3.0出现的vc14)

    完成后点左侧的 链接器-输入,
    在 附加依赖项 加上 lib文件夹中的所有项。
    注意:最后一位是d的在前,无d 的在后面。
    之前有提到过Gihub 和官网上有一些不一样的地方,就是在这里。 从官网上下载的应该把“d”改为“OFF”,看一下lib文件夹就知道了。两种都可以运行。已经在不同的电脑上测试过。
    opencv_calib3d330d.lib
    opencv_core330d.lib
    opencv_dnn330d.lib
    opencv_features2d330d.lib
    opencv_flann330d.lib
    opencv_highgui330d.lib
    opencv_imgcodecs330d.lib
    opencv_imgproc330d.lib
    opencv_ml330d.lib
    opencv_objdetect330d.lib
    opencv_photo330d.lib
    opencv_shape330d.lib
    opencv_stitching330d.lib
    opencv_superres330d.lib
    opencv_video330d.lib
    opencv_videoio330d.lib
    opencv_videostab330d.lib
    opencv_calib3d330.lib
    opencv_core330.lib
    opencv_dnn330.lib
    opencv_features2d330.lib
    opencv_flann330.lib
    opencv_highgui330.lib
    opencv_imgcodecs330.lib
    opencv_imgproc330.lib
    opencv_ml330.lib
    opencv_objdetect330.lib
    opencv_photo330.lib
    opencv_shape330.lib
    opencv_stitching330.lib
    opencv_superres330.lib
    opencv_video330.lib
    opencv_videoio330.lib
    opencv_videostab330.lib

    这样配置完成后,以后每次新建一个项目都需要重新设置包含目录和库目录以及 附加依赖项lib,一个技巧是可以设置 新项目属性表 并保存,之后 只需 添加现有属性表即可。
    具体参考一下链接:
    https://www.zhihu.com/question/24400428

    9.测试。网上找的简单测试程序。

        #include<iostream>
        #include<core/core.hpp>
        #include<highgui/highgui.hpp>
    
        
          using namespace cv;
    
    
        int main()
        {
    // 读入一张图片(游戏原画)
    Mat img = imread("1.jpg");
    // 创建一个名为 "游戏原画"窗口
    namedWindow("游戏原画");
    // 在窗口中显示游戏原画
    imshow("游戏原画", img);
    // 等待6000 ms后窗口自动关闭
    waitKey(6000);
        }
    

    如果有问题,可以先尝试重启试一下,好像电脑配置环境变量时需要重启。

    细节可能有些地方没有描述清楚,可以参考那几个链接。

    补充:好像会出现 “无法查找或打开 PDB 文件”的错误信息, 但是可以运行

    收获:测试 运行成功很开心。
    以后的道路还很长,折腾着折腾着可能也就习惯了。
    大神好多,要是能知道原理就好了。不过好像也不太重要。

  • 相关阅读:
    40.lombok在IntelliJ IDEA下的使用
    39.Intellij导入子项目时,maven列表子项目灰色不可用---解决方法
    38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
    Log4j.properties 属性详解以及 LOG4J日志级别详解
    3.lombok系列3:lombok的实验类特性
    2.lombok系列2:lombok注解详解
    1.lombok系列1:初识lombok
    DIV和SPAN的区别
    37.Intellij IDEA解决GBK乱码
    WebService三大基本元素 SOAP WSDL UDDI
  • 原文地址:https://www.cnblogs.com/lifeofershisui/p/7445062.html
Copyright © 2011-2022 走看看