搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
OpenCV 2计算机视觉编程手册
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787030375810
  • 作      者:
    (加)Robert Laganiere著
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2013
收藏
编辑推荐

  《OpenCV2计算机视觉编程手册》是一本循序渐进的计算机视觉指导手册,给予OpenCV2代码库中包含高级特性的C++接口。本书介绍了OpenCV2中众多的视觉算法。你将学会如何读、写、创建及操作图像,领略图像分析中常用的技术,并了解如何使用C++高效实现。

展开
作者简介

  Robert Laganiere,加拿大渥太华教授,于1996年获得蒙特利尔INRS-Telecommunications博士学位。他是计算机视觉领域的研究员,兴趣包括食品分析、智能视觉监控,以及基于图像的建模。他是VIVA实验室的联合创始人,同时还是iWatchLife.com(一家提供云端视频监控服务的公司)的首席科学家。他与别人合著了Object-oriented Software Enginieering一书,由McGraw-Hill于2011年出版。

展开
内容介绍

  OpenCV提供的视觉处理算法非常丰富,并且以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植。OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,目前这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的课题。

展开
精彩书摘
  作用原理
  在之前的秘诀中,我们学习到能够从一组特征点的匹配中估算出与两幅图像相关的基础矩阵。精确地说,这组匹配仅包含高质量的匹配。然而,在实际应用中,很难保证通过比较特征点描述子得到的匹配集是完全相同的。因此我们将使用RANSAC(RANdomSAmplingConsensus)策略来进行基础矩阵的估算。
  RANSAC算法的目的是从包含异常值的数据集中估算出给定的数学元素。基本原理是随机地选取一些数据点,并且仅用它们来进行估算。选择的数据点的个数应当是可用于进行估算的最小数。对于基础矩阵而言,8个匹配是最小数(事实上可以是7,但是8个点的线性算法计算更迅速)。一旦从这随机的8个匹配中算出基础矩阵,集合中所有剩下的匹配都将与矩阵对应的极性约束进行测试。我们找到所有满足该约束的匹配,它们对应的特征非常靠近极线。这些匹配组成了这个基础矩阵的支持集合。
  RANSAC算法背后最主要的想法是支持集合越大,得到正确矩阵的可能性就越大。显而易见的,如果一个(或多个)随机选择的匹配是错误的,那么得到的基础矩阵也是错误的,于是它的支持集合应当很小。这个过程会重复数次,最后我们保留最大支持集合的矩阵作为最合适的。
  因此,我们的目标是多次随机挑选8个匹配,最终能够得到8个足够好的匹配提供我们一个较大支持集合。根据完整数据集中错误匹配的个数,挑选到8个正确数据的概率会不同。然而我们值得挑选的次数越多,我们从中得到至少一个优质匹配集合的概率就越大。更精确地,如果假设集合包含n%正确值,那么同时选中8个正确匹配的概率是8n。因此,包含至少一个错误匹配的概率是(1—8n)。如果我们挑选k次,至少出现一次包含8个正确结果的概率是1—(1—8n)k。这便是置信概率C,我们希望它尽可能地高。因此,当运行RANSAC算法时,我们需要确定k的数量以得到给定的置信等级。
  在CV::findFundamentalMat函数中使用RANSAC算法时,需要提供两个额外的参数。第一个是置信等级,它决定迭代的次数。第二个是归类为正确的点离极线的最大距离。因此,该函数返回一个字符类型的std::vector,标志着对应的匹配被识别为outlier(0)还是inlier(1)。
  初始数据集中优质匹配的数量越大,RANSAC给出正确基础矩阵的概率也越高。因此我们在调用CV::findFundamentalMat之前便对数据集使用了多个滤波器。当然,你可以选择跳过其中的一些步骤。这仅仅是如何在计算复杂性、最终匹配数目以及所需的置信等级之间进行平衡的问题。
  ……
展开
目录

第 1 章接触图像
1.1 引 言 
1.2 安装OpenCV库
1.3 使用MS VisualC++创建OpenCV工程
1.4 使用Qt创建OpenCV项目
1.5 载入、显示及保存图像
1.6 使用Qt创建GUI应用

 

第 2 章操作像素
2.1 引 言
2.2 存取像素值
2.3 使用指针遍历图像
2.4 使用迭代器遍历图像
2.5 编写高效的图像遍历循环
2.6 遍历图像和邻域操作
2.7 进行简单的图像算术
2.8 定义感兴趣区域

 

第 3 章基于类的图像处理
3.1 引 言
3.2 在算法设计中使用策略(Strategy)模式
3.3 使用控制器(Controller)实现模块间通信
3.4 使用单件(Singleton)设计模式
3.5使用模型-视图-控制器(Model-View-Controller)架构设计应用程序
3.6 颜色空间转换

 

第 4 章使用直方图统计像素
4.1 引 言
4.2 计算图像的直方图
4.3 使用查找表修改图像外观
4.4 直方图均衡化
4.5 反投影直方图以检测特定的图像内容
4.6 使用均值漂移(Mean Shift)算法查找物体
4.7 通过比较直方图检索相似图片

 

第 5 章基于形态学运算的图像变换
5.1 引言
5.2 使用形态学滤波对图像进行腐蚀、膨胀运算
5.3 使用形态学滤波对图像进行开闭运算
5.4 使用形态学滤波对图像进行边缘及角点检测
5.5 使用分水岭算法对图像进行分割
5.6 使用GrabCut算法提取前景物体


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证