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

相关文章
|
1月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3850 3
|
1月前
|
机器学习/深度学习 监控 算法
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
52 3
|
4月前
|
机器学习/深度学习 人工智能 算法
Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。
【7月更文挑战第5天】Python在计算机视觉(CV)中扮演重要角色,得益于其丰富的库如OpenCV、Pillow和Scikit-image。CV涉及图像处理、模式识别和机器学习,用于图像理解和生成。Python的跨平台特性和活跃社区使其成为CV的理想工具。基本流程包括图像获取、预处理、特征提取、分类识别及图像生成。例如,面部识别通过预处理图像,使用如`cv2.CascadeClassifier`进行检测;物体检测类似,但需适应不同目标;图像生成则利用GAN创造新图像。
69 4
|
1月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
156 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
1月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
107 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
1月前
|
PyTorch TensorFlow 算法框架/工具
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
本文提供了在Ubuntu 18.04操作系统的NVIDIA Jetson平台上安装深度学习和计算机视觉相关库的详细步骤,包括PyTorch、OpenCV、ONNX、TensorFlow等。
51 1
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
yolov5项目如何安装pycocotools和opencv-python?
本文提供了解决yolov5项目中安装pycocotools和opencv-python包失败的两种方法:手动安装或使用国内镜像源进行安装。
yolov5项目如何安装pycocotools和opencv-python?
|
3月前
|
前端开发 计算机视觉
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
195 2
|
5月前
|
机器学习/深度学习 算法 Java
计算机视觉——opencv快速入门(一) opencv的介绍与安装
OpenCV是开源计算机视觉库,支持C++, Python, Java等,用于图像处理、视频分析等。建议使用较早版本如3.4.3,因高版本部分算法需付费。通过Anaconda创建Python虚拟环境来安装,选择合适的Python和OpenCV版本。激活环境后,用`pip`安装`opencv-python`。基本环境配置完成后,通过显示图像的Python代码测试安装是否成功。
计算机视觉——opencv快速入门(一) opencv的介绍与安装
|
4月前
|
机器学习/深度学习 XML 计算机视觉
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
下一篇
无影云桌面