【OpenCV之路】了解 OpenCV 的模块

本文介绍了OpenCV 4.4在Ubuntu下的模块架构,重点讲解了calib3d、core、dnn、feature2d等关键模块的功能,包括相机标定、深度学习、特征检测等,展示了OpenCV作为SDK的全面性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenCV4.4 的模块架构

在ubuntu下安装了OpenCV4.4后,【/usr/local/include/opencv4/build/include】文件夹内,只有一个文件夹【opencv2】。打开该文件夹就可以看到OpenCV4.4 的模块架构

在这里插入图片描述
需要说明:

  • 在 OpenCV4 之前的版本中,该文件夹下有两个文件夹 opencv和opencv2,在OpenCV4中将两个整合成了一个文件夹
  • 上面的路径要根据自己实际的安装路径查找
文件夹下主要包含的功能模块如下
  • calib3d:
    这个模块名称是有 calibration(校准)和 3D 两个术语的缩写组合而成。包含了相机标定与立体视觉等功能,例如物体位姿估计、三维重建、摄像头标定等
  • core
    核心功能模块。该模块主要包含 OpenCV库的基础结构以及基本操作,例如OpenCV基础数据结构、绘图函数、数组操作相关函数、动态数据结构等
  • dnn
    深度学习模块。该模块是 OpenCV4版的一个特色,主要包括:构建神经网络、加载序列化网络模型等。但这一模块目前仅适用与正向传递计算(测试网络),原则上不支持反向计算(训练网络)。
  • feature2d
    该模块是由 feature(特征)和 2D 两个术语的缩写组合而成的,其功能主要为处理图像特征点,例如特征检测、描述、匹配等
  • flann
    快速近似最邻近库(Fast Library for Approximate Nearest Neighbors)。该模块是高维的近似近邻快速搜索算法库,主要包含快速近似近邻搜索、聚类等
  • gapi
    该模块是 OpenCV4.0 中新增模块,旨在加速常规的图像处理。与其他模块相比,这个模块主要充当框架,而不是某些特定的计算机视觉算法
  • highgui
    高层 GUI,包含创建和操作显示图像的窗口、处理鼠标事件及键盘命令、提高图形交互可视化界面等
  • imgcodecs
    图像文件读取与保存模块,主要用于图像文件读取与保存
  • imgproc
    该模块名称是由 image(图像)和 process(处理)两个组合而成。是重要的图像处理模块,主要包含:图像滤波、几何变换、直方图、特征检测、目标检测等
  • ml
    机器学习模块,主要包括:统计分类、回归、数据聚类等
  • objdetect
    目标检测模块,主要用于图像的目标检测,如检测 Haar 特征
  • photo
    计算摄像模块,只要包含图像修复、去燥等
  • stitching
    图像拼接模块,主要包含:特征点寻找与匹配图像、估计旋转、自动校准、接缝估计等图像拼接过程的相关内容
  • video
    视频分析模块,主要包含:运动估计、背景分离、对象跟踪等视频处理等
  • videoio
    视频输入/输出模块,主要用于读取、写入视频 或者图像序列

简单的说,OpenCV就是将众多图像处理模块,集成在一起的 软件开发工具包(Software Development Kit, SDK),其自身并不复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值