• VS2015+Windows 10下配置opencv3.0


    博客园样式换了,原先的文章排版太乱了,新发一篇

    0. 安装 opencv 3.0


    首先去官网下载安装包(其实是个压缩包),释放到随便的一个路径里面为了方便描述,下面把这个路径称为 cvPath。
    然后以管理员权限运行命令行,执行下面的命令:

    setx -m OPENCV_DIR cvPathuildx64vc12
    setx -m OPENCV_DIR cvPathuildx86vc12
    

    1. 添加系统环境变量


    桌面-此电脑-右键-属性-高级系统设置-环境变量
    在 系统环境 List 中选择 Path,单击 编辑
    添加下面的路径:
    OPENCV_DIRin

    重启电脑,使系统变量生效

    2. 配置 VS2015


    新建一个 C++ 的控制台项目
    视图-属性管理器-展开你的项目-选择 Debug|Win32-右键-新建新项目属性表

    建立好新的属性表后打开它,分别设置以下的项目:

    • 通用属性
      • C/C++
        如果没有出现这个选项卡请向项目中添加一个 C/C++ 源文件
        • 常规
          附加包含目录:

            $(OPENCV_DIR)....include
          
      • 链接器
        • 常规
          附加库目录:

            $(OPENCV_DIR)lib
          
        • 输入
          附加依赖项:

            opencv_ts300d.lib
            opencv_world300d.lib
          

          可以根据需要添加其他的库,以“d”结尾的库是在 debug 模式中使用的,opencv库的命名规则是

            opencv_(The Name of the module)(The version Number of the library you use)d.lib
          

    完成上面的设置后就可以保存了,这个属性表文件保存在项目的根目录中,如果要在其他的项目中使用 opencv 也可以使用以上方法,唯一的不同是之后的项目可以直接添加现有属性表。

    3. Have fun!


    #include <opencv2/core.hpp>
    #include <opencv2/imgcodecs.hpp>
    #include <opencv2/highgui.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int main( int argc, char** argv )
    {
        if( argc != 2)
        {
         cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
         return -1;
        }
    
        Mat image;
        image = imread(argv[1], IMREAD_COLOR); // Read the file
    
        if( image.empty() ) // Check for invalid input
        {
            cout << "Could not open or find the image" << std::endl ;
            return -1;
        }
    
        namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
        imshow( "Display window", image ); // Show our image inside it.
    
        waitKey(0); // Wait for a keystroke in the window
        return 0;
    }
    

    这个小程序使用命令行参数运行,参数是一个图片文件的路径。

    4. Naive!


    哈哈哈哈,你以为这么容易就可以直接运行吗?你们啊,too young too simple,sometimes naive!

    VS2015的编译器版本是 vc14 ,然后你是不是发觉了一些问题?

    opencv 3.0 的使用的是 vc12 编译的,所以VS2015在编译你的程序的时候会使用更高级的库,这导致程序出错。

    解决方法是把下面的两个文件放到cvPathuildx86vc12in里面。
    http://pan.baidu.com/s/1hqF8nlU

    然后,完美运行。

    5.一些疑问


    1. 在 Nuget 中也有 opencv 包可以下载供 C++ 使用,从这里面下载的 opencv 要如何在程序中调用呢?
    2. opencv 只能在 x86 平台使用吗?因为我尝试生成 x64 的时候会提示模块计算机类型与目标计算机类型冲突。
    3. vc12 跟 vc14 到底是什么东西?我在上面是猜的。

    参考文章:
    OpenCV3.0.0+win10 64位+vs2015环境的下载,安装,配置与属性表的生成
    Vs2015+opencv2.4.10出现msvcp120d.dll丢失 opencv2410.props
    How to build applications with OpenCV inside the Microsoft Visual Studio
    Installation in Windows

  • 相关阅读:
    Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析
    软件的三层架构
    【Android小应用】颈椎保健操Android开源项目
    huffman编码——原理与实现
    30天自制操作系统之第13天 定时器(2)
    JSP中Session的使用
    [非官方]ArcGIS10.2 for Desktop扩展工具包——XTools Pro
    在C语言中,double、long、unsigned、int、char类型数据所占字节数
    nyoj 130 同样的雪花 【哈希】
    socketpair的使用
  • 原文地址:https://www.cnblogs.com/JacZhu/p/5477755.html
Copyright © 2020-2023  润新知