没有合适的资源?快使用搜索试试~ 我知道了~
OpenCV3 毛星云版 概述
需积分: 9 10 下载量 170 浏览量
2018-04-24
22:16:15
上传
评论 1
收藏 1.56MB DOCX 举报
温馨提示
试读
64页
OpenCV3的简单概述 对书中的内容做了简要的叙述 适合想要了解《OpenCV3编程入门》一书的同学
资源推荐
资源详情
资源评论
OpenCV 概述
OpenCV 是一个基于开源发行的跨平台计算机视觉库,实现了图像处理和
计算机视觉方面的很多通用算法,在计算机视觉领域扮演着重要的角色。本文
将根据《OpenCV3 编程入门》一书对 OpenCV3.0 做一个整体的概述。
在这之前先来了解一些图像处理和计算机视觉的基础知识。
图像处理是用计算机对图像进行分析,已达到所需结果的技术,它一般包
括图像压缩,增强和复原,匹配描述和识别这 3 个部分。图像处理一般指数字
图像处理,数字图像处理是指用工业相机,摄像机,扫描仪等设备经过拍摄得
到的一个大的二维数组。该数组的元素称为像素,其值称为灰度值。而数字图
像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处
理的方法和技术。
计算机视觉是一门研究如何使机器“看”的科学,具体的说计时指用摄影机和
电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,
用电脑处理使之成为更适合人眼观察或传送给仪器检测的图像的一门学科。而
OpenCV 实现了图像处理和计算机视觉方面的很多通用算法,已经成为了计算
机视觉领域最有力的的研究工具之一。
OpenCV 的全称是 Open Source Computer Vision Library,直译就是
“开源计算机视觉库”。OpenCV 的设计目标是执行速度尽量快,主要关注实时
应用。它采用优化的 C/C++代码编写,能够充分利用多核处理器的优势,其主
要目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计
更复杂的计算机视觉相关应用程序。它由一系列 C 函数和 C++类构成,拥有
包括 500 多个 C 函数的跨平台的高层 API。它不依赖于其他的外部库但如果有
需要,也可以使用某些外部库。OpenCV 覆盖了计算机视觉的许多应用领域,
如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和
机器人等。因为计算机视觉和机器学习密切相关,所以 OpenCV 还提供 MLL
机器学习库。
作为一本入门级的 OpenCV 编程教材,《OpenCV3 编程入门》以详细注
释 的 程 序 代 码 为 主 线 , 以 新 版 本 OpenCV 最 核 心 的
HighGUI、core、improc、feature2d 这 4 个组件的相关函数、类和数据结
构为出发点,详细讲解了学习新版本 OpenCV 中会遇到了各种问题。
1.HighGUI 图形用户界面
HighGUI 模块为高层 GUI 图形用户界面模块,包含媒体的输入输出、视频
捕捉、图像和视频编码解码、图形交互界面的接口等内容。这一部分将会介绍
OpenCV 中最常用到的一些交互操作,包括图像载入、显示和输出,为程序添
加滑动条,以及鼠标操作等内容。
1.1 图像的载入、显示和输出到文件。
OpenCV 中采用了 Mat 类作为数据结构进行图像存取,也可以用于保存其
他矩阵数据,默认情况下其尺寸为 0。最简单的图像载入和显示只需要两句代
码,非常便捷。这两句代码分别对应了两个函数,它们分别是 imread()以
及 imshow ()。imread()函数用 于读取文 件中的图片到 OpenCV 中,
imshow()函数用于在指定的窗口中显示一副图像,而这里用于创建窗口的
函 数 为 nameWindow 函 数 , 若 简 单 地 进 行 图 片 显 示 , 可 以 略 去
nameWindow 函数的调用,即先调用 imread 读入图片,然后用 imshow 直
接指定出窗口名进行显示即可。但如果要指定滑动条依附到某个窗口上或者其
他对窗口的操作就需要 nameWindow 函数先创建出窗口,显式地规定窗口名
称了。imwrite 函数用于将图像保存到指定的文件,图像格式是基于文件扩展
名的,可保存的扩展名和 imread 中可以读取的图像扩展名一致。
1.2 滑动条的创建和使用。
滑动条是 OpenCV 动态调节参数特别好用的一种工具,它依附于窗口存在,
由于 OpenCV 中并没有实现按钮的功能,所以很多时候,我们还可以用仅含
0-1 的滑动条来实现按钮的按下、弹起效果。createTrackbar 函数为我们创建
了一个具有特定名称和范围的轨迹条,指定一个和轨迹条位置同步的变量,并
将滑动条附加到指定的窗口上,需要注意,它往往会和一个回调函数配合起来
使用,所以要指定回调函数 onChange,在轨迹条位置改变的时候来调用这个
回调函数。至于回调函数,就是一个通过函数指针调用的函数。如果我们把函
数的指针作为参数传递给另一个函数,当这个歌指针被用来调用其所指向的函
数时,就称其为回调函数。回调函数不由该函数的实现方直接调用,而是在特
定的事件或条件发生时由另外的一方调用,用于对该事件或条件进行响应。此
外还有一个 getTrackbarPos 函数,配合 createTrackbar 用于获取当前轨迹
条的位置。
1.3 鼠标操作
OpenCV 中的鼠标操作和滑动条的消息映射方式很类似,都是通过一个中
介函数配合一个回调函数来实现的。指定鼠标操作消息回调函数的函数为
SetMouseCallback。
以上就是 OpenCV 的高层 GUI 图形用户界面模块 highgui 中最重要的几个
方面。
2.Core 组件
OpenCV 中的 core 组件是核心功能模块,这个大组件包含一些图像的基本
操作。先来介绍 OpenCV 数据结构,理解 OpenCV 是如何存储和处理图像的。
剩余63页未读,继续阅读
资源评论
weixin_41794341
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功