《计算机视觉算法:基于OpenCV的计算机应用开发》 —3 数组和矩阵操作
第3章
Hands-On Algorithms for Computer Vision
数组和矩阵操作
现在我们已经结束了本书的第一部分以及计算机视觉中基本概念的讲述,我们将开始介绍OpenCV库提供的计算机视觉算法和功能,这或多或少涵盖了一些计算机视觉主题及其优化实现。正如我们在前面章节中学到的,OpenCV使用模块化结构对其包含的计算机视觉功能进行分类。我们将用类似的结构来讨论本书中的主题,这样在每一章学到的技能无论从理论的角度还是实践的角度都是相互关联的。
在上一章中,我们了解了图像和矩阵之间的关系,并介绍了Mat类中最重要的功能,例如如何使用给定的宽度、高度和类型来构建它。我们还学习了如何从磁盘、网络流、视频文件或相机读取图像。在此过程中,我们学习了如何用不同方法访问图像中的像素。我们现在可以开始介绍实际的图像及像素的修改和处理操作了。
在本章中,我们将学习很多用于处理图像的函数和算法,这些算法或用于计算可能在别处中有用的值,或直接修改图像中像素的值。本章介绍的几乎所有的算法都是基于下面两个事实:图像本质上是矩阵、矩阵的实现是基于数组运算的,这也是本章章名的由来。
我们将通过介绍Mat类自带的功能来开始本章,这部分的内容很少,但在初始矩阵的创建等方面非常重要。然后,我们将学习大量的基于矩阵元素的算法。正如我们将通过许多实例学到的那样,这些算法对矩阵的每个单独元素施加具体操作,而不关心任何其他元素(或像素)。最后,我们将学习一些不是基于元素的矩阵和数组操作,这些操作的结果可能取决于整个图像或一组元素。随着本章内容的展开,读者会深入理解这些算法。本章中的所有算法和函数都包含在OpenCV库的核心模块中,这一点很重要。
到本章结束时,你将对以下内容有更好的理解:
Mat类中的操作
元素级矩阵操作
矩阵和数组级操作
3.1 技术要求
一款可以开发C++或Python应用的IDE
OpenCV库
有关如何设置个人计算机并使用OpenCV库开发计算机视觉应用程序的更多信息,请参考第2章。
你可以使用以下URL下载源代码和本章的示例:https://github.com/PacktPublishing/Hands-On-Algorithms-for-Computer-Vision/tree/master/Chapter03。
- 点赞
- 收藏
- 关注作者
评论(0)