《OpenCV图像处理》——第1章 处理图像文件和视频文件 1.1OpenCV介绍

简介:

本节书摘来自华章计算机《OpenCV图像处理》一书中的第1章,第1.1节,作者:[西]葛罗瑞亚·布埃诺·加西亚(Gloria Bueno García)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 处理图像文件和视频文件

本章概述OpenCV及其安装以及第一个基本程序,将介绍如下一些内容:为初学者简略介绍OpenCV,接着给出一个简单易学的库的安装步骤指南。在完成用户本地硬盘上的安装之后,快速了解一下OpenCV的结构。快速掌握使用具有某些通用编程框架的库来创建项目的方法。如何使用函数读、写图像和视频。最后,介绍如何通过库函数为软件项目添加丰富的用户界面,包括鼠标交互、基本绘图形以及Qt支持。

1.1 OpenCV介绍

OpenCV(Open Source Computer Vision,开源计算机视觉类库)最初由Intel开发,是一个进行实时图像处理的免费跨平台库,对于一切与计算机视觉有关的事务处理,OpenCV已经成为一个实际上的标准库工具。OpenCV的第一版于2000年正式发布,获得了BSD许可。从那时起,在该科学研究领域,OpenCV的功能已经非常丰富。2012年,非盈利组织OpenCV.org开始负责为开发者和用户维护一个支持网站。
在编写本书时,一个新的OpenCV(3.0版本)主要版本已经可用,但仍在测试状态。本书将介绍这个新版本带来的最新相关变化。
OpenCV对大部分流行的操作系统可用,例如:GNU/Linux、OS X、Windows、Android、iOS等。第一次实现时使用的是C程序设计语言;但从2.0版本开始,由于使用C++实现使得OpenCV更加流行。新的函数都是采用C++语言编写的。然而,如今的库对于其他编程语言(例如:Java、Python和MATLAB/Octave)提供了一个完整的接口。而且,已经开发出了对其他语言(例如:C#、Ruby和Perl)的封装包,以鼓励程序员采用。
为了使计算密集型视觉任务的性能最大化,OpenCV包括以下支持:
用一个线程构建模块(Threading Building Block,TBB)来支持多核计算机上的多线程——由Intel开发的一个模板库。
用Intel处理器上的一个集成性能函数库(Integrated Performance Primitive,IPP)子集来提升性能。感谢Intel使这些函数在3.0测试版本上免费可用。
使用计算统一设备架构(Compute Unif?ied Device Architecture,CUDA)和开放计算语言(Open Computing Language,OpenCL)提供图形处理器(Graphic Processing Unit,GPU)上的处理接口。
OpenCV的应用包括分割与识别、二维和三维特征工具包、对象识别、人脸识别、运动跟踪、手势识别、图像拼接、高动态范围(high dynamic range,HDR)成像、增强现实等领域。另外,为了支持上面某些应用领域,它还包含了一个具有统计机器学习功能的模块。

相关文章
|
算法 计算机视觉
基于qt的opencv实时图像处理框架FastCvLearn实战
本文介绍了一个基于Qt的OpenCV实时图像处理框架FastCvLearn,通过手撕代码的方式详细讲解了如何实现实时人脸马赛克等功能,并提供了结果展示和基础知识回顾。
600 7
基于qt的opencv实时图像处理框架FastCvLearn实战
|
计算机视觉 Python
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
使用OpenCV库将一个文件夹内的所有彩色图片批量转换为灰度图,并提供了相应的Python代码示例。
199 0
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
|
1月前
|
Ubuntu 编译器 计算机视觉
Ubuntu 20.04环境下无法找到#include<opencv/cv.h>文件 - 解决方案。
希望这些信息能帮助你解决遇到的问题。
171 10
|
计算机视觉
Opencv学习笔记(八):如何通过cv2读取视频和摄像头来进行人脸检测(jetson nano)
如何使用OpenCV库通过cv2模块读取视频和摄像头进行人脸检测,并提供了相应的代码示例。
430 1
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
3539 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
编解码 计算机视觉 Python
Opencv学习笔记(九):通过CV2将摄像头视频流保存为视频文件
使用OpenCV库通过CV2将摄像头视频流保存为视频文件,包括定义视频编码格式、设置保存路径、通过write写入视频文件,并提供了相应的Python代码示例。
580 0
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
390 7
|
编解码 关系型数据库 计算机视觉
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
本文介绍了如何在OpenCV中通过使用cisco开源的openh264库来解决不支持H.264编码的问题,并提供了完整的代码示例。
1119 0
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
389 0