首页 > 编程语言 >C++之OpenCV入门到提高001:使用 Visual Studio2022 配置 OpenCV 环境

C++之OpenCV入门到提高001:使用 Visual Studio2022 配置 OpenCV 环境

时间:2024-10-28 13:31:11浏览次数:5  
标签:opencv 点击 C++ OpenCV Visual 如图 目录

一、介绍
    从今天开始,我们又要开始一个新的系列了,这个系列就是《C++之 Opencv 入门到提高》。这个系列是有关如何使用 C++ 语言,通过 Opencv 来实现图像处理、缺陷检测、视频处理、机器学习等功能。OpenCV 我也是新接触的,一步一步的学习,一步一步提高。这个系列是以 C++ 为基础的,所以要想看懂里面的代码,C++ 还是必须要有点基础的。
    OpenCV 是什么,我简要的说明一下。OpenCV 是一个基于 BSD 许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
     在计算机视觉项目的开发中,OpenCV作为较大众的开源库,拥有了丰富的常用图像处理函数库,采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上,能够快速的实现一些图像处理和识别的任务。OpenCV 是一个好东西,我这里只是做一个简单的介绍,如果大家想了解更多,可以去网上自行脑补吧。它的官网地址:https://opencv.org/
    今天是这个系列的第一篇,话不多说,我们开始认识一下它。

    我需要进行说明,以防大家不清楚,具体情况我已经罗列出来。
        操作系统:Windows Professional 10(64位)
        开发组件:OpenCV – 4.10.0
        开发工具:Microsoft Visual Studio Community 2022 (64 位) - Current版本 17.8.3
        开发语言:C++(VC16)

二、测试源码
    环境配置好了,我们怎么知道是否配置成功呢,如果有代码执行一下,就可以知道了。代码里有图片路径,执行之前需要替换。
    2.1、helloworld.cpp

 1 #include <opencv2/opencv.hpp>
 2 #include <opencv2/highgui/highgui.hpp>
 3 #include <opencv2/imgproc.hpp>
 4 
 5 using namespace cv;
 6 
 7 int main()
 8 {
 9     Mat dest = imread("D:\\360MoveData\\Users\\Administrator\\Desktop\\TestImage\\guanyu.jpg", -1);
10     namedWindow("demoWindow", cv::WINDOW_AUTOSIZE);
11     imshow("demoWindow", dest);
12 
13     waitKey(0);
14     destroyAllWindows();
15     return 0;
16 }
View Code

三、配置流程
    C++ 版本的 Opencv 配置其实不是很难,主要是分为三步,第一步:下载必要的组件,第二步:配置环境变量,第三步:配置 C++ 项目属性。三步完成,接下来就可以测试了。虽然分为3个步骤,但是我是按着顺序一步一步做的,没有分三步,每步在细分。

    3.1、OpenCV 组件官网下载
        官网地址:https://opencv.org/releases/
        我直接上一幅图,让大家有一个直接的感受。它的最新版本是 4.10.0,当然,在这个页面也罗列出来其他版本,我使用的是最新的。
        
    3.2、因为我的系统是 Windows 版本,所以我点击【Windows】连接,开始现在 Windows 版本的安装程序。
        
    3.3、当 opencv-4.10.0-windows.exe 下载完毕,双击直接安装就可以了。我的安装目录是 E 盘,目录中不要包含中文字符。
        

        下载完成后,我们双击 exe 文件,把文件进行解压,我存放在 E 盘。如图:

        

        点击【Extract】解压文件。

        

        解压完成后,会在 E 盘生成一个 opencv 的目录,进入目录,如图:

        

        进入 E:\opencv\build 目录,是生成的项目,如图:

        

        在 x64 目录下面,有一个目录是:E:\opencv\build\x64\vc16\bin,这个地址就是要增加到环境变量中的。如图:

        

 


    3.4、开始配置环境变量,右键点击【此电脑】,选择【属性】,进入【设置】窗口。点击窗口右侧的【高级系统设置】,如图:
        

    3.5、点击【高级系统设置】,打开【系统属性】窗口,选择【高级】选项卡,点击下方的【环境变量】按钮。如图:

        

    3.6、点击【环境变量】按钮,打开【环境变量】窗口。如图:

        

    3.7、在【环境变量】窗口的下方【系统变量】部分,找到【Path】配置项,点击【编辑】按钮,打开编辑窗口。如图:

        

    3.8、在【系统变量】窗口内,选择【Path】项,点击【编辑】按钮,打开【编辑环境变量】窗口。如图:

        

    3.9、进入到【编辑环境变量】窗口,先点击【新建】按钮,会在窗口列表底部,出现空白行,将 opencv 的 bin 目录,拷贝在此,点击【确定】按钮完成。
        


    3.10、现在,我们需要配置 Visual Studio 2022 C++ 项目一些设置了。首先,我们使用 VS2022 创建一个空的 C++ 项目。效果如图:

        


    3.11、先选择【OpenCV.TraningSeries-001】项目,点击右键选择【属性】,或者点击快捷键【alter+enter】,打开项目属性窗口,如图:

        

        红色标注的就是我们要配置的内容。主要有两项:VC++ 目录、连接器的输入项。


    3.12、接下来,我们先配置【VC++目录】的【包含目录和库目录】。包含目录,配置内容是:E:\opencv\build\include,库目录:E:\opencv\build\x64\vc16\lib。

        

        配置库目录,操作差不多。点击【库目录】右侧,编辑按钮,打开编辑窗口。如图:

        

        编辑库目录。

        

        最后效果,如图:

        

    3.13、配置 VC++ 连接器的【输入】项目。就是要把 库目录:E:\opencv\build\x64\vc16\lib 下的 opencv_world4100d.lib 文件增加到这里。如图:

        

        点击【编辑】按钮,打开编辑窗口。

        

    3.14、到此,我们就全部配置完成了,就可以写代码测试。

        
    
四、总结
    这是 C++ 使用 OpenCV 的第一篇文章,很简单,主要讲述了为了在 C++ 环境下使用 OpenCV 如何配置环境,我第一次配置还是忙活了半天,还好,最后成功了。初见成效,继续努力。皇天不负有心人,不忘初心,继续努力,做自己喜欢做的,开心就好。

标签:opencv,点击,C++,OpenCV,Visual,如图,目录
From: https://www.cnblogs.com/PatrickLiu/p/18499247

相关文章

  • C++在实际项目中的应用第二节:C++与区块链
    第五章:C++在实际项目中的应用第二课:C++与区块链区块链技术因其去中心化、不可篡改和透明性而受到广泛关注。在这门课程中,我们将深入探讨区块链的基本原理、智能合约的开发以及实际应用的案例分析,重点使用C++作为实现语言,以便充分发挥其高效性和强大的功能。1.区块链的......
  • Qt/C++地图雷达扫描/动态扇形区域/标记线实时移动/轮船货轮动态轨迹/雷达模拟/跟随地
    一、前言说明地图雷达扫描的需求场景也不少,很多人的做法是直接搞个覆盖层widget,在widget上绘制雷达,优缺点很明显,优点是性能高,毕竟直接在widget上绘制性能明显比js中绘制要高,缺点是要么动态计算经纬度坐标转屏幕坐标来实现跟随,要么固定的通过改变绘制的范围内容来跟随,但是总归使用......
  • C++学习,标准库 <cstdlib>
    <cstdlib> 是C++标准库中的一个头文件,提供了各种通用工具函数,包括内存分配、进程控制、环境查询、排序和搜索、数学转换、伪随机数生成等。这些函数最初来自C标准库 <stdlib.h>,在C++中进行了标准化和扩展。字符串转换函数calloc():分配指定数量和大小的内存空间,并将其......
  • 【C/C++】2.函数传入复杂类型实例时,传入值参数和引用参数的区别
    1.值参数传递(PassbyValue)原理:传入参数时会拷贝一份对象副本。优点:副本在函数内部可随意修改,不会影响原始数据。缺点:对于复杂类型,拷贝对象会消耗更多内存和性能。适用场景:函数只需读取少量数据,且无需修改原对象时,可以考虑值传递。voidprocessData(MyClassobj){......
  • C++数据类型
    数据类型C++规定在创建一个变量或常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。一、整型作用:整型变量表示的是整数类型的数据。语法:数据类型  变量名=变量初始值;        int  a=10;数据类型存在的意义:给变量分配合适的内存空间......
  • 实验二 c++
    实验任务一源代码t.h1#pragmaonce23#include<string>45//类T:声明6classT{7//对象属性、方法8public:9T(intx=0,inty=0);//普通构造函数10T(constT&t);//复制构造函数11T(T&&t);//移动构造函数12......
  • C++中编译相关知识
    cmake常用的几个操作mkdirbuild:创建一个名为 build 的目录,通常用于存放构建过程中生成的文件。这种做法能够避免把编译生成的文件混在源代码目录中,保持源代码目录干净。cdbuild:进入刚刚创建的 build 目录,这样后续的构建操作都将在这个目录内进行。cmake..:使......
  • 《 C++ 修炼全景指南:十七 》彻底攻克图论!轻松解锁最短路径、生成树与高效图算法
    摘要1、引言1.1、什么是图?图(Graph)是计算机科学和离散数学中一种重要的数据结构,用来表示一组对象之间的关系。一个图由顶点(也称为节点,Vertex)和边(Edge)组成。顶点表示实体,而边则表示实体之间的关联或连接关系。根据边的性质,图可以分为无向图和有向图。在无向图中,边没有方向......
  • [C++11] 右值引⽤与移动语义
    文章目录左值和右值左值(Lvalue)右值(Rvalue)区别左值引⽤和右值引⽤左值引用(LvalueReference)右值引用(RvalueReference)右值引用的特点右值引用延长生命周期右值引⽤和移动语义的使⽤(重点)左值引用的主要使用场景回顾移动构造函数与移动赋值操作符定义代码示例右值......
  • Complete the Sequence 第一次做英文c++的题
    第一次接触全是英语的题,怎么会有这么难的呢?首先我拿起了它和中文的题目一对比,发现分成了5个板块,将这5个板块细细拆分后,了解到了大意,大意为输入n组数据,其中输入x个数,然后找出它的规律,输出接下来的y个数。比如一组数据,1、2、3、4、5、6,要输出剩下的数据,你肯定会不有毫不犹豫的回答......