资料
  • 资料
  • 专题
OpenCV4系统化学习路线图(新版)
推荐星级:
类别: 软件/EDA/IP
时间:2024-05-29
大小:3.26KB
阅读数:42
上传用户:开心就很好了
查看他发布的资源
下载次数
2
所需E币
0
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
一、什么是OpenCV
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV提供了大量的计算机视觉、图像处理和模式识别的算法,包括实时图像处理、视频分析、特征检测、目标跟踪、人脸识别、物体识别、图像分割、光流法、立体视觉、运动估计、机器学习和深度学习等。

OpenCV是一个跨平台的库,支持多种操作系统,包括Linux、Windows、Android、Mac OS和iOS等。它使用C++编写,同时也提供了Python、Java、MATLAB等语言的接口,方便不同编程语言的开发者使用。由于OpenCV的开源性和跨平台性,它已经成为计算机视觉领域最受欢迎的库之一,广泛应用于工业检测、医学影像处理、智能交通系统、安防监控系统、机器人视觉、游戏开发等领域。

OpenCV的设计初衷是实现计算机视觉的自动化,帮助计算机去理解我们的世界,以便自动完成一些基本的任务。它提供了一系列的算法和工具,使得开发者可以更加便捷地实现各种计算机视觉应用。同时,OpenCV也支持多种硬件加速技术,如Intel的IPP和GPU加速,使得计算机视觉应用的性能得到了极大的提升。

二、OpenCV4软件特性
OpenCV4官方版是一款开源的跨平台计算机视觉库。OpenCV4最新版软件兼容性强,支持Linux、Windows、Mac OS等多种操作系统,适用于机互动、物体识别、运动跟踪、图像分割等领域。OpenCV4软件内置了Python、MATLAB、Ruby等语言的接口,用户能够轻松的使用和修改代码。

三、opencv主要模块
calib3d:该模块由相机校准(calibration)和三维重建(3d)两个部分组成,主要用于相机标定与三维视觉等;
core:OpenCV的内核模块,定义了基础数据结构与基础计算;
dnn:该模块主要用于深度学习推理部署,不支持模型训练;
features2d:该模块主要用于特征点处理,例如特征点检测与匹配等;
flann:FLANN为快速最近邻算法(Fast Library for Approximate Nearest Neighbors)的缩写,该模块包含快速近似最近邻搜索和聚类等功能;
gapi:该模块对图像处理算法做了加速处理,不属于OpenCV的功能模块;
highgui:该模块用于创建图像化界面操作,例如创建和操作图像显示窗口、鼠标与键盘事件处理,进度条等图像化交互操作;
imgcodecs:该模块负责图像文件读写,如图像读取与保存;
imgproc:该模块是OpenCV图像处理最重要的模块,主要功能如图像滤波、图像几何变换、直方图操作等;
ml:该模块为机器学习模块,包含常见的机器学习算法,如支持向量机和随机森林等;
objdetect:该模块主要用于图像目标检测,例如Haar特征检测等;
photo:该模块主要负责照片处理,如照片修复和去噪等;
stitching:该模块负责图像拼接,功能包括图像特征点寻找与匹配等图像拼接技术;
video:该模块用于视频分析,如运动估计、背景分离等;
videoio:该模块负责视频读写,主要视频文件的读取和写入。

四、opencv4比opencv3多了哪些
OpenCV 4相较于OpenCV 3,主要增加了对SIFT与SURF的支持、改进了DNN模块、增加了对特定网络结构的支持、新增了DNN例程、以及功能提升。
对SIFT与SURF的支持:在OpenCV 3中,SIFT与SURF的API调用文件是包含在扩展模块中的。而在OpenCV 4中,如果想要使用SIFT与SURF,需要从源代码中通过CMake编译生成Python版本的安装包。
DNN模块的改进:OpenCV 4对DNN模块进行了改进,包括:
增加了对ONNX中LSTM、Broadcasting、Algebra over constants、Slice with multiple inputs的支持。
增加了对DarkNet中grouped convolutions、sigmoid、swish、scale_channels的支持。
新增了对MobileNetV3-SSD目标检测网络的支持。
改进了对TensorFlow、Darknet和ONNX模型导入的功能。
新增的DNN例程:
人体解析(服饰分割)例程Clothes parts segmentation。
DaSiamRPN目标跟踪例程,该算法出自中科院和商汤科技ECCV2018的论文Distractor-aware Siamese Networks for Visual Object Tracking。
功能提升:
imgproc模块中的霍夫变换进行圆检测的HoughCircles()函数新增了HOUGH_GRADIENT_ALT实现,显著提高了圆检测的召回率和精度。
这些改进和新增功能使得OpenCV 4在计算机视觉领域的应用更加广泛和高效。

五、opencv配置
配置OpenCV环境主要涉及下载、安装、环境变量设置、以及在Visual Studio中添加必要的目录和依赖项。以下是详细的步骤:
1、下载和安装OpenCV:
访问OpenCV官网,下载适合Windows版本的OpenCV。
运行下载的exe文件进行安装

2、环境变量设置:
在系统属性的高级设置中,进入环境变量设置。
在系统变量中,找到并编辑Path变量,添加OpenCV的路径。
对于64位系统,通常需要添加的路径是opencv\build\x64\vc16\bin和opencv\build\bin。

3、Visual Studio中添加目录和依赖项:
打开Visual Studio,创建一个新的C++项目。
在项目属性中,添加包含目录(Include Directories),库目录(Library Directories),以及必要的静态和动态链接库。

4、测试配置:
创建一个C++源文件,编写简单的代码来测试摄像头读取或图像显示功能。
如果程序能够正确运行并显示图像或视频流,则说明OpenCV环境配置成功。
这些步骤涵盖了从下载安装到环境配置的整个过程,确保在配置时注意区分Debug和Release模式下的不同设置,以及根据具体的OpenCV版本调整路径和文件名。
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书