C++实战Opencv第一天——win11下配置vs,opencv环境和运行第一个c++代码(从零开始,保姆教学)

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的通用算法和功能,用于处理图像和视频数据。C++ 通常提供比 Python 更高的执行速度,对于需要高性能处理的任务(如实时视频处理或大规模图像分析) 。C++ 提供更细致的内存管理控制跨平台性。这对于优化大型应用或在内存限制较大的环境(如嵌入式系统)中运行非常重要。

OpenCV 可以实现的应用:

  1. 图像处理:包括滤波、色彩空间转换、图像阈值设定、边缘检测、几何变换(如旋转、缩放)等。

  2. 面部识别与追踪:使用特定算法(如哈尔特征级联分类器)来识别和追踪视频中的人脸。

  3. 物体检测和识别:可以检测图像中的特定物体(如车辆、行人、标志)并对其进行分类。

  4. 运动分析和对象追踪:分析视频中的运动模式,追踪移动对象。

  5. 3D重建:从多个视角的图像中重建物体或场景的三维模型。

  6. 增强现实:结合现实世界的图像和计算机生成的数据,创建增强现实应用。

  7. 机器人视觉:使机器人能够通过摄像头感知周围环境并作出决策。

  8. 自动驾驶汽车视觉系统:用于车辆检测、车道检测、交通标志识别等。

  9. 医学图像处理:分析医学图像,如X射线、MRI 或 CT扫描。

  10. 视频分析:视频监控、事件检测、视频内容理解。

  11. 计算摄影学:高动态范围成像、全景图像拼接等。

  12. 实时滤镜和效果:图像和视频的实时美化和效果处理。

目录

一、Visual Studio的安装 

二、opencv下载 

三、vs环境配置 

1、配置包含目录

2、配置库目录

​编辑3、配置链接器

4、配置环境变量并重启

四、c++代码测试


一、Visual Studio的安装 

Visual Studio 2022 IDE - 适用于软件开发人员的编程工具

二、opencv下载 

Releases - OpenCV

下载windows版本即可,解压后:

三、vs环境配置 

创建新项目:

 

选择空项目 

项目名称随便,位置自己记住。 

进入后,改成这样

1、配置包含目录

打开视图->其他窗口->属性管理器->如图属性->VC++目录->包含目录

添加:请根据自己解压的openv4.8目录进行相应修改(下同)

E:\opencv\opencv\build\include
E:\opencv\opencv\build\include\opencv2

 


2、配置库目录

E:\opencv\opencv\build\x64\vc16\lib


3、配置链接器

opencv_world480.lib

 

4、配置环境变量并重启

在环境变量下添加: 

E:\opencv\opencv\build\x64\vc16\bin

重启vs。

至此,w11 下vs,opencv配置完成。

四、c++代码测试

//OpenCV 库的主要头文件。它允许程序使用 OpenCV 提供的各种功能和类。
// 在 C++ 中,#include 指令用于引入库或其他源文件。
//类比python中的import cv2
#include<opencv2/opencv.hpp>

//int main(int argc, char** argv) 是 C++ 程序的入口点。
//当程序运行时,这个函数被自动调用。argc 表示传递给程序的参数数量,
//argv 是一个字符串数组,包含这些参数。在这个程序中,这两个参数没有被使用。
int main(int argc, char** argv) {

    //这一行创建了一个 cv::Mat 类型的变量 src。
    //cv::Mat 是 OpenCV 中用于存储图像的类。
    //cv::imread 函数用于读取指定路径的图像文件。在这个例子中,
    //它试图从 "E:/yolov8/bus.jpg" 路径加载图像。
    //加载的图像被存储在 src 变量中。
    cv::Mat src = cv::imread("E:/yolov8/bus.jpg");

    //条件语句检查 src 图像是否为空(即图像是否未成功加载)
    if (src.empty()) { 
        printf("could not load image ...");
        return -1;
    }

    //cv::imshow 函数用于在窗口中显示图像。
    //这里创建了一个窗口,标题为 "输入图像",并显示 src 图像。
    cv::imshow("输入图像",src);
    //让窗口保持打开状态,直到有键盘输入。
    cv::waitKey(0);
    //在 C++ 中,主函数的返回值通常用来指示程序的退出状态。
    //返回值 0 通常表示程序成功执行。
    return 0;
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 16:02:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 16:02:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 16:02:02       87 阅读
  4. Python语言-面向对象

    2024-01-19 16:02:02       96 阅读

热门阅读

  1. Android基础知识

    2024-01-19 16:02:02       51 阅读
  2. mysql 自动生成随机数

    2024-01-19 16:02:02       60 阅读
  3. Mysql 报错Parameter ‘@xxx‘ must be defined

    2024-01-19 16:02:02       52 阅读
  4. Echarts 图表自适应

    2024-01-19 16:02:02       51 阅读
  5. User表设计

    2024-01-19 16:02:02       50 阅读
  6. 算法-排序

    2024-01-19 16:02:02       43 阅读
  7. Mysql旧数据处理常用sql模板·持续更新...

    2024-01-19 16:02:02       52 阅读
  8. 中文论文写作过程中的-GPT命令----未完待续

    2024-01-19 16:02:02       54 阅读
  9. 生成指定位数的编号,不够的在左边补0

    2024-01-19 16:02:02       50 阅读
  10. 如何学习一些需要算法的程序

    2024-01-19 16:02:02       55 阅读