我的OpenCV4学习之旅(1)-OpenCV4初步了解

我的OpenCV4学习之旅(1)-OpenCV4初步了解

OpenCV4学习笔记总结资料来自:《OpenCV4 快速入门》,哔哩哔哩 -OpenCV4 C++快速入门视频30讲

Opencv4简单介绍

​ OpenCV4是目前最流行的计算机视觉处理库之一,是一个开源的计算机视觉库(Open Source Computer Vision Library,OpenCV4)。

​ 简单来说,OpenCV4可以用来对图像进行处理。而图像处理的基本概念,图像处理一般是指数字图像处理(digital image processing),通过数学函数和图像变化等手段对二维的数字图像进行分析,获得图像数据的潜在信息,通常包括图像压缩,增强和复原,以及匹配,描述和识别3个部分,涵盖噪声去除,分割,特征提取等处理方法和技术。

​ OpenCV是由一系列C语言函数和C++类构成的,除了支持使用C/C++语言进行开发以外,还支持C#,Ruby等编程语言,并提供了Python,MATLAB,Java等编程语言接口,可以在Linus,Windows,macOS,Android和IOS等系统上运行。

OpenCV4的发展

OpenCV计算机视觉处理库的重要版本发行时间:

时间版本
2006年6月OpenCV 1.0版
2009年9月OpenCV 2.0版
2014年8月OpenCV 3.0版
2018年11月OpenCV 4.0版

OpenCV4的优点

​ OpenCV4.0版本进一步完善了核心接口,并添加了二维码检测器,ONNX转换格式等新功能,以及通过C++11标准建立OpenCV4.0,因此要求编译器兼容C++11标准,所需的CMake至少是3.5.1版,版本更新的主要内容是去除了一些过时的C语言API,增加了更多图像处理与计算机视觉算法模型

OpenCV的模块架构

  • calib3d —— 这个模块名称是由calibration(校准)和3D两个术语的缩写组合而成的,顾名思义,这个模块主要包含相机标定与立体视觉等功能,例如物体位姿估计,三维重建,摄像头标定等
  • core —— 核心功能模块。这个模块主要包含OpenCV库的基础结构以及基本操作,例如OpenCV基本的数据结构,绘图函数,数组操作相关函数,动态数据结构等
  • dnn —— 深度学习模块。这个模块是OpenCV4版的一个特色,其主要包括构建神经网络,加载序列化网络模型等
  • features2d —— 这个模块名称是由features(特征)和2D两个术语的缩写组合而成的,其功能主要为处理图像特征点,例如特征检测,描述与匹配等
  • flann —— 这个模块名称是Fast Library for Approximate Nearest Neighbors(快速近似最近邻库)的缩写。这个模块是高维的近似近邻快速搜索算法库,主要包含快速近似近邻搜索与聚类等
  • gapi —— 这个模块是OpenCV4.0中新增加的模块,旨在加速常规的图像处理
  • highgui —— 高层GUI,包含创建和操作显示图像的窗口,处理鼠标事件以及键盘命令,提供图形交互可视化界面等
  • imgproc —— 这个模块名称是由image(图像)和process(处理)两个单词的缩写组合而成的,是重要的图像处理模块,主要包含图像滤波,几何变化,直方图,特征检测与目标检测等
  • ml —— 机器学习模块,主要为统计分类,回归和数据聚类等
  • objdetect —— 目标检测模块,主要为统计分类,回归和数据聚类等
  • photo —— 计算摄影模块,主要包含图像修复和去噪等
  • stitching —— 图像拼接模块,主要包含特征点寻找与匹配图像,估计旋转,自动校准,接缝估计等图像拼接过程的相关内容
  • video —— 视频分析模块,主要包含运动估计,背景分离,对象跟踪等视频处理相关内容
  • videoio —— 视频输入/输出模块,主要用于读取/写入视频或者图像序列

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值