OpenCV4.1.0+VisualStudio2019开发环境搭建(超级简单)

 更新时间:2021年03月07日 10:27:23   作者:CaliforniaCHAO  
这篇文章主要介绍了OpenCV4.1.0+VisualStudio2019开发环境搭建(超级简单),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

先说一下其实根本无需修改环境变量等系统设置,只需要对 project 进行一些设置就好。

编译需要的是 .h 文件和 .lib 文件,运行需要的是 .dll 文件,调试需要的是代码源文件和 .pdb 文件。

1. 准备 Open CV 的文件 :

https://opencv.org/releases/

解压到哪里无所谓,我们后面会把需要的文件复制到 Solution 的目录里面。

2. 在 vs 中新建一个空的工程,添加一个 source.cpp,随便加几行代码能跑起来。注意把 Solution Platform 修改为 x64,Debug 或者 Release 都可以。

在 project 的目录下新建两个文件夹“lib”和“include”,如下:(可以忽略那个 bin 文件夹)

3. 添加 lib 文件。

到解压出来的 opencv 文件夹下,opencv\build\x64\vc15\lib ,把这个目录下的两个 .lib 文件复制到上面新建的 lib 文件夹中。这两个 .lib 文件的区别,是Debug模式使用opencv_world410d.lib,Realease 模式使用opencv_world410.lib。那个 d 就是Debug 的意思,后面的 .dll 文件同理。

然后修改 project 的设置,使其能够链接这个 .lib 文件。打开 project 的属性页面,按照图里的设置,第一张图填的是 .lib文件的目录,我这里写的是相对路径,第二张图添加的是 .lib 文件名。注意我截图是Release模式,所以填的是opencv_world410.lib,Debug 模式要用opencv_world410d.lib。

4. 添加需要的头文件。

还是打开属性页面,按照如下设置:(意思搜索头文件的时候也会到这个目录下去找)

把opencv\build\include 下面的 opencv2 文件夹复制到之前新建的 include 文件夹下,

把 opencv\sources\include\opencv2\opencv.hpp 文件也复制到 include 文件夹下,最后效果如下

5. 这个时候就可以去写代码了,但是还不能运行。

我这里 source.cpp 的代码如下:

#include <cstdio>

#include "opencv.hpp" //opencv 的头文件

using namespace std;

using namespace cv; //opencv 的命名空间


int main()
{
  printf("Hello Open CV!");

  Mat img = imread("f22.jpg"); //这个图片需要自己准备,放在project目录下,或者直接写绝对路径
  imshow("f22", img);//显示图片6秒
  waitKey(6000);

  return 0;
}

到此为止应该是可以build成功了,如果运行的话会提示少dll,这时候只要把对应的dll文件复制到编译出来的exe文件目录下即可。dll文件为"opencv\build\x64\vc15\bin\opencv_world410.dll"。debug 模式用那个带 d 的

到此这篇关于OpenCV4.1.0+VisualStudio2019开发环境搭建(超级简单)的文章就介绍到这了,更多相关OpenCV4.1.0 VS019搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言深入探究选择排序与基数排序使用案例讲解

    C语言深入探究选择排序与基数排序使用案例讲解

    算法中排序是十分重要的,而每一个学习计算机的都会在初期的时候接触到这种排序,下面这篇文章主要给大家介绍了关于c语言选择排序与基数排序使用的相关资料,需要的朋友可以参考下
    2022-05-05
  • C++ STL标准库std::vector扩容时进行深复制原因详解

    C++ STL标准库std::vector扩容时进行深复制原因详解

    我们知道,std::vector之所以可以动态扩容,同时还可以保持顺序存储,主要取决于其扩容复制的机制。当容量满时,会重新划分一片更大的内存区域,然后将所有的元素拷贝过去
    2022-08-08
  • C++ 详细讲解对象的构造顺序

    C++ 详细讲解对象的构造顺序

    对象的构造往往和构造函数会牵扯在一起,构造函数的函数可能会由非常复杂的逻辑所组成,不同类的构造函数的程序逻辑很可能是相互依赖的,当这种相互依赖一旦成立,那么对象的构造顺序很可能导致难以调试的Bug出现
    2022-04-04
  • C++ 二叉搜索树(BST)的实现方法

    C++ 二叉搜索树(BST)的实现方法

    这篇文章主要介绍了C++ 二叉搜索树(BST)的实现方法,非常不错,具有参考借鉴价值,需要的的朋友参考下
    2017-04-04
  • 详细讲解C语言中的数据以及位运算

    详细讲解C语言中的数据以及位运算

    这篇文章主要为大家详细介绍了C语言中数据表示方法以及位运算的相关知识点,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • C++中全局变量的初始化全过程

    C++中全局变量的初始化全过程

    这篇文章主要介绍了C++全局变量的初始化全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • C语言模拟实现学生学籍管理系统

    C语言模拟实现学生学籍管理系统

    这篇文章主要为大家详细介绍了C语言模拟实现学生学籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C语言中结构体和共用体实例教程

    C语言中结构体和共用体实例教程

    这篇文章主要给大家介绍了关于C语言中结构体和共用体的相关资料,结构体是一种自定义的复合数据类型,共用体也叫联合体,使几个不同类型的变量共占一段内存(相互覆盖),需要的朋友可以参考下
    2021-06-06
  • 详解如何实现C++虚函数调用汇编代码

    详解如何实现C++虚函数调用汇编代码

    多态是C++中最重要的特性之一,对虚函数的调用在C++代码中是随处可见的,本篇文章我们详细探讨一下,感兴趣的朋友快来看看吧
    2021-11-11
  • 超详细解析C++实现快速排序算法的方法

    超详细解析C++实现快速排序算法的方法

    快速排序是比较快的排序方法。它的基本思想是通过一组排序将要排序的数据分割成独立的两部分,本文将用C++实现快速排序算法,需要的可以参考一下
    2022-09-09

最新评论