当前位置: 首页 > news >正文

OpenCV 环境搭建与概述

//
//OpenCV-4.11.0 + C++ + VS2019
//


一、OpenCV学习路线
1、入门: OpenCV图像读写、视频读写、基本像素处理、基本卷积处理、基本C++开发知识。
2、初级: OpenCV自定义卷积操作、图像梯度、边缘提取、二值分析、视频分析、形态学处理、几何变换与透视变换。
3、中级: 角点查找、BLOB查找、特征提取与匹配、机器学习、深度神经网络、CUDA加速。
4、高级: 掌握自定义对象检测模型从训练到部署、模板匹配、读码、能灵活运用所需知识解决实际问题。

二、OpenCV下载
1、OpenCV下载网址: https://opencv.org/releases/ 。
2、本文用OpenCV-4.11.0 Windows版。
3、下载安装包名: opencv-4.11.0-windows.exe 。
4、双击运行exe,选择提取路径,提取。
5、提取出的opencv目录结构:
 

 opencv|---build|    |---bin|    |---etc|    |---include|    |---java|    |---python|    |---x64|          |---vc16|                |---bin|                |---lib|---sources|---LICENS.txt|---LICENSE_FFMPEG.txt|---README.md.txt


6、将include、x64/vc16的lib和bin文件夹,单独拷贝到新的文件夹内,如: ThirdPart\opencv 。
7、后续将ThirdPart文件夹,放入VS解决方案文件夹内。

三、新建C++工程
1、前提: 安装好Visual Studio 2019,并打开Visual Studio 2019。
2、创建新项目-->选择C++、Windows、桌面-->Windows桌面向导-->下一步。
3、填写项目名称、位置、解决方案名称-->创建。
  (1)、项目名称例如: MyOpenCVTest1 。
  (2)、位置代表解决方案的存放路径,例如: C:\Users\ml\Desktop\Test\ 。
  (3)、解决方案可以包含多个项目,解决方案名例如: MyOpenCVTest 。
4、选择控制台应用程序(.exe)-->空项目-->确定。
5、右键源文件-->添加-->新建项-->C++文件(.cpp)-->名称main.cpp-->添加。
6、选择Release和x64 。
7、将ThirdPart拷贝到解决方案文件夹内。

四、配置OpenCV库
1、配置包含目录
  右键项目名-->属性-->C/C++-->常规-->附加包含目录,添加路径如: $(ProjectDir)..\ThirdPart\opencv\include\opencv2和$(ProjectDir)..\ThirdPart\opencv\include\ 。
2、配置库目录
  右键项目名-->属性-->链接器-->常规-->附加库目录,添加路径如: $(ProjectDir)..\ThirdPart\opencv\lib\ 。
3、配置链接器
  右键项目名-->属性-->链接器-->输入-->附加依赖项,添加opencv库如: opencv_world4110.lib 。
  注意,Debug版配置opencv_world4110d.lib,Release版配置opencv_world4110.lib 。
4、拷贝dll文件 或 配置环境变量并重启VS2019 [二选一即可]
  (1)、将opencv所有相关dll和exe文件,拷贝到当前项目exe所在目录。
  (2)、配置环境变量Path,指向opencv可执行库文件夹地址,如: C:\Users\ml\Desktop\Test\MyOpenCVTest\ThirdPart\opencv\bin 。
5、编写代码,如:

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::Mat src = cv::imread("C:\\Users\\malan\\Desktop\\Test\\MyOpenCVTest\\images\\1.png");if (src.empty()){printf("Could not load image...");return -1;}cv::imshow("输入图像", src);cv::waitKey(0);return 0;
}


6、编译运行,出现一张图片。

相关文章:

  • c/c++的opencv开闭操作
  • [Java实战]Spring Boot整合Kafka:高吞吐量消息系统实战(二十七)
  • WPF中的ObjectDataProvider:用于数据绑定的数据源之一
  • 软件设计师SQL考点分析——求三连
  • 界面组件DevExpress WPF中文教程:Grid - Bands分隔符
  • CAU数据库class2 SQL语言
  • win10 上删除文件夹失败的一个原因:sqlYog 备份/导出关联了该文件夹
  • AGI大模型(27):LangChain向量存储
  • Windows 下 Qt 项目配置 FFmpeg 简明指南
  • w~自动驾驶~合集3
  • 什么是漏洞管理?ManageEngine卓豪Vulnerability Manager Plus如何保护您的IT基础设施?
  • 【notes】VScode 使用总结
  • 0519Java面试题总结
  • c++字符串常用语法特性查询示例文档(二)
  • 【MySQL】使用文件进行交互
  • C++之函数模板类模板
  • MySQL 故障排查与生产环境优化
  • 科技行业智能化升级经典案例—某芯片公司
  • Java 泛型详解
  • VR 互动实训与展示,借科技开启沉浸式体验新篇​
  • 媒体:多家国有大行存款利率即将迎来新一轮下调
  • AI快速迭代带来知识焦虑,褚君浩院士提出“四维能力模型”
  • 天问二号探测器顺利转入发射区,计划5月底择机发射
  • 义乌至迪拜“铁海快线+中东快航”首发,物流成本降低18%
  • 三方合作会否受政局变化影响?“中日韩+”智库合作论坛在沪举行
  • 新时代,新方志:2025上海地方志论坛暨理论研讨会举办