当前位置: 代码网 > it编程>前端脚本>Python > C++实战Opencv第一天——win11下配置vs,opencv环境和运行第一个c++代码(从零开始,保姆教学)

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

2024年08月05日 Python 我要评论
(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的通用算法和功能,用于处理图像和视频数据。通常提供比 Python,对于需要高性能处理的任务(如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;
}

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com