《Arduino计算机视觉编程》一第2章 OpenCV的基础与安装2.1 OpenCV的基础

简介:
+关注继续查看

本节书摘来自华章出版社《Arduino计算机视觉编程》一书中的第2章,第2.1节,作者[土耳其] 欧森·奥兹卡亚(zen zkaya),吉拉伊·伊利茨(Giray Yilliki),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章

OpenCV的基础与安装

开源计算机视觉库(OpenCV)是一个供学术研究人员、商业公司、嵌入式设备开发社区以及全世界爱好者使用的计算机视觉库。OpenCV提供了C++、C、Python和Java等语言版本的接口,并且支持Windows、Linux、Mac OS、Android和iOS平台。它在设计的时候就考虑到了计算效率和易用性,并专注于支持实时应用。算法经过了优化并且适合运行在不同的硬件平台上,即使在多核情况下也运行良好。确实,OpenCV的一个优势就是它有一个大约5万人的用户社区。它的使用范围非常广泛,从对象识别到运动检测都有覆盖,并且在机器人技术社区中非常受欢迎。让我们开始介绍OpenCV模块,进而深入了解计算机视觉。

2.1 OpenCV的基础

在本节中,我们会讨论OpenCV组件以便更好地了解它的结构,并且会介绍OpenCV的基础。这样你将会熟悉这些模块,在后面章节的Arduino/OpenCV项目中可以根据需要来添加。所以准备好学习这些模块吧!这些模块既有共享库也有静态库。OpenCV提供了很多用户易用的功能。这样我们可以专注于项目本身。在最新的稳定版本中,可使用下列模块:
opencv_core:这个简洁的模块定义了我们经常使用的基本数据结构,包括紧密多维数组Mat和其他模块使用的基本函数。
opencv_imgproc:在图像处理模块的帮助下,我们可以像专业人员一样修改原始图像,使得它们可以被计算机视觉系统进一步处理。这个模块提供了线性和非线性的图像滤波、图像几何变换、颜色空间转换、直方图等内容。
opencv_video:在视频模块的帮助下,现在可以进行实时处理了。这个模块提供了非常重要的帧间处理能力,比如运动预测、背景建模和对象追踪等算法。
opencv_calib3d:这个多视图模块可以使用多个相机产生的图像生成一个新的维度下的视图。它还控制着深度信息提取。
opencv_feature2d:这个模块使用了许多快速的实时算法来继续边角的检测。在项目中需要进行特征检测、特征描述以及描述匹配时,会凸显其重要性。
opencv_objdetect:在前面的模块提取了一些主要特征后,我们现在可以检测对象和一些预定义类的实例(比如脸、眼睛、被子、人、汽车等)。
opencv_highgui:这个模块提供了一个很棒的UI接口。我们可以使用GUI特性来更好地理解数据的捕获和处理。
opencv_videoio:这个模块提供了视频捕获和视频解码器的接口。我们将在实时数据采集的应用中用到这个模块。
opencv_gpu:不同OpenCV模块的GPU加速算法。
还有其他辅助模块,比如FLANN、Google test wrappers、Python binding,等等。
准备好在接下来的几章中去发现这几个模块吧!但首先,确保已经在你的开发平台上安装好OpenCV!下一节将指导你完成库的安装。我们开始实践吧!

相关文章
|
2天前
|
计算机视觉 Windows
win7安装OpenCV:计算机中丢失opencv_world300d.dll
win7安装OpenCV:计算机中丢失opencv_world300d.dll
15 0
|
7天前
|
Ubuntu 计算机视觉
Ubuntu新手友好:OpenCV 4.6.0安装的简化教程
下载压缩包 opencv官网 进入到解压后的文件夹下 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES .. sudo make -jx根据cpu数进行编译
29 0
|
2月前
|
算法 vr&ar 计算机视觉
[笔记]Python计算机视觉编程《二》 基本的图像操作和处理
[笔记]Python计算机视觉编程《二》 基本的图像操作和处理
|
2月前
|
存储 算法 程序员
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(四)
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(四)
|
2月前
|
存储 Serverless C语言
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(三)
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(三)
|
2月前
|
安全 数据挖掘 计算机视觉
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(二)
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(二)
|
2月前
|
XML 算法 计算机视觉
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理(一)
[笔记]Python计算机视觉编程《一》 基本的图像操作和处理
|
3月前
|
存储 缓存 Linux
如何在 CentOS 8 上安装 OpenCV?
OpenCV 的用途非常广泛,包括医学图像分析,拼接街景图像,监视视频,检测和识别面部,跟踪运动对象,提取 3D 模型等等。
60 0
|
4月前
|
编译器 计算机视觉 C++
软件类配置(七)【ubuntu16.04安装netbeans、opencv并配置开发环境。】
软件类配置(七)【ubuntu16.04安装netbeans、opencv并配置开发环境。】
|
传感器 数据采集 机器人
《Arduino计算机视觉编程》一导读
特别是对于现代机器而言,计算机视觉是环境感知发展的下一个阶段。许多现代设备尝试使用有限的资源来模仿人类的感知能力。此外,大多数此类仿制品其实是存在不足的,因为通常情况下它们不能直接模拟人类的感知能力,尤其是在视觉方面。
3595 0
推荐文章
更多