《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!下一节将指导你完成库的安装。我们开始实践吧!

相关文章
|
存储 计算机视觉 索引
opencv图像处理基础(python)
opencv图像处理基础(python)
|
算法 定位技术 计算机视觉
Python opencv图像处理基础总结(七) 基于分水岭算法的图像分割
任何一副灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。我们向每一个山谷中灌不同颜色的水。随着水的位的升高,不同山谷的水就会相遇汇合,为了防止不同山谷的水汇合,我们需要在水汇合的地方构建起堤坝。不停地灌水,不停地构建堤坝知道所有的山峰都被水淹没。我们构建好的堤坝就是对图像的分割
249 0
Python opencv图像处理基础总结(七) 基于分水岭算法的图像分割
|
编解码 算法 计算机视觉
Python opencv图像处理基础总结(六) 直线检测 圆检测 轮廓发现
我还有改变的可能性 一想起这一点 我就心潮澎湃
691 0
Python opencv图像处理基础总结(六) 直线检测 圆检测 轮廓发现
|
编解码 算法 计算机视觉
|
算法 API 计算机视觉
Python opencv图像处理基础总结(四) 模板匹配 图像二值化
模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题
369 0
Python opencv图像处理基础总结(四) 模板匹配 图像二值化
|
计算机视觉 Python
Python opencv图像处理基础总结(三) 图像直方图 直方图应用 直方图反向投影
图像直方图是反映一个图像像素分布的统计表,其横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的。纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比。
376 0
Python opencv图像处理基础总结(三) 图像直方图 直方图应用 直方图反向投影
|
算法 Unix Linux
Python opencv图像处理基础总结(一) 环境搭建 基础操作
Open Source Computer Vision Library,OpenCV于 1999 年由 Intel 建立,如今由 Willow Garage 提供支持。OpenCV是一个基于 BSD 许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、MacOS操作系统上。
176 0
Python opencv图像处理基础总结(一) 环境搭建 基础操作
|
Python 计算机视觉
Python+OpenCV教程基础篇:图像混合
如果你也有想分享的干货,可以登录天池实验室(notebook),包括赛题的理解、数据分析及可视化、算法模型的分析以及一些核心的思路等内容。
1349 0
|
计算机视觉
OpenCV 估算图像的投影关系:基础矩阵和RANSAC
根据针孔摄像机模型,我们可以知道,沿着三维点X和相机中心点之间的连线,可以在图像上找到对应的点x。反过来,在三维空间中,与成像平面上的位置x对应的场景点可以位于这条线上的所有位置。
1992 0
热门文章
最新文章
推荐文章
更多