1. 首页
  2. 编程语言
  3. 其他
  4. opencv2计算机视觉编程手册

opencv2计算机视觉编程手册

上传者: 2019-05-01 10:07:53上传 PDF文件 7.39MB 热度 41次
opencv2计算机视觉编程手册pdf最新文档,关于计算机视觉的文档Opencv 2计算机视觉编程手册〔加〕 Robert Laganiere著张静译斜学出版社图字:01-2012-0919号内容简介本书以案例的形式介绍 Opencv2X的新特性和C++新接口,案例中包含具体的代码与详细的说明。本书很好地平衡了基础知识与进阶内容,要求读者具有基础的C++知识。本书既适合想要学习计算机视觉的C++初学者,也适合专业的软件开发人员。本书可作为高等院校计算机视觉课程的辅助教材,也可以作为图像处理和计算机视觉领域研究人员的参考手册。图书在版编目(C|P)数据Open cv2计算机视觉编程手册/(加) Robert Iaganiere著:张静译一北京:科学出版社,2013.7书名原文: OpenCv2 Computer Vision Application Programming CookbookISBN978-7-03-037581-01.0…Ⅱ.①R…②张…Ⅲ图像处理软件一程序设计-技术手册Ⅳ.TP39141-62中国版本图书馆CIP数据核字(2013)第11236号责任编辑:喻永光杨凯/责任制作:魏谨责任印制:赵德静/封面制作:段淮沱北京东方科龙图文寶限公司制作http://www.okbook.com.cn學胤出版北京东荧城根北街]6号邮政编码:10077http://ww北京源海即有限责仨公司印刷科学出版社发行各地新华书店经销2013年7月第一版开本:787×960162013年7月第一次印印张:16114印数:【-350字数:289000定价:45.00元(如有印装质量问题,我社负责调换)译者序我和 OpenCv的故事切的起源是 Opencv1.0.exe的安装包,那时我电脑中安装的还是VC++6.0绿色版,我以为计算机视觉只是图像处理的别名。当我运行 samples/ facedetect时惊呆了,笔记本自带的摄像头居然实时地识别出我的脸。后来我意识到这句话说错,其实是检测到了我的脸。人脸识别指的是计算机知道我是谁,这个功能在当时的penCv是不支持的。另外一个让我震惊的是 samples/ inpaint,exe,字面意思是图像修补,即智能地填补缺失的像素信息,那会儿我想这可以用来去马赛克。后来想明白了,信息是不会凭空出现的,如果你事先不知道马赛克背后可能是什么,那么无法去恢复它。2008年上海双年展上,我看到一款摄像头互动的艺术作品《上海,我能邀你跳支舞吗?》,参展者在摄像头前通过身体来影响投影屏幕中的虚拟建筑。这是我从没想象过的人机交互方式,我意识到程序的操控设备可以脱离鼠标键盘,进人到现实的空间中。回来后我用 OpenCⅴ自制了一个用双手控制的虚拟打鼓游戏,录好视频后放在优酷上,启发了一些人。这便是最原始的体感,在硬件上只依赖一个摄像头。一年后的E3展上, Kinect rA Project Natal的名称为世人所知提到摄像头互动,自然不能不说基于CCV的多点触摸,国内外不少公司都在凭借这款开源的软件接活。而CCV最核心的摄像头跟踪模块完全依赖 OpenCv,所做的无非是阈值化加上寻找连通区域。因为打开了 Opencv这扇门,我接触到截然不同的编程世界。研究CCV的间隙我还学习了 open frameworks和 Processing,今年我还有一本Processing的翻译书籍要出版,这是另外一个故事。之后从事了游戏行业,基本没机会用 Opencv,直到一个游戏项目中的字体贴图丢失了坐标信息,需要通过肉眼手动定位。这很不科学,于是我拾起 OpenCv,阈值化加上寻找连通区域,输人一副图像,输出字体的包围盒坐标,同事纷纷觉得不可思议。计算机视觉的魅力便在此,从看似无关的像素中能够提取信息。这不是唯一一次在工作中使用 Opencv,之后我得到了一份增强现实、图像检索等领域的开发工作,可以全译者序职地进行 OpenCⅤ的开发。共事的有国内著名CV网站 machina.info的站长张小军本书的第2章也是由他翻译的,对于他在工作中的指点在此一并感谢。Opencv的用途很广,除了上述提到的,还有视频监控、双目视觉、机器学习、Kinect深度信息处理、照片美化、图像拼接、GPU加速等功能。但是 OpencⅤ的书籍并不多,在本书面世前市场上只有一本讲述1.0接口的 Learning OpenCy。本书的意义在于,讲述了2.0后出现的C+接口以及大量的新功能。如果你看过 Learning OpenCv,想学习新接口使用,那么推荐你阅读这本书。如果你没有接触过 OpenCv,想直接跳过C接口的函数,那么更加推荐你阅读本书最后,感谢陪伴我鼓励我的妻子M,如果没有你,我和 OpenCv的故事到第二段就结束了,译者序也必定由他人撰写。张静2013年4月25日上海前言图像与视频在当今的数字世界可谓无处不在,随着运算能力强劲而又实惠的计算设备的问世,创建复杂的图像应用从未像今天这般容易。市面上有众多的软件和库可用于操作图像与视频,但是对于期望自己开发软件的人而言, OpenCv库是一款必备的工具。OpenC( Open Source computer Vision)是一个开放源代码的图像及视频分析库,它包含500多个优化过的算法。自1999年问世以来,它已经被计算机视觉领域的学者和开发人员视为首选工具。 OpenCv最初是由 Intell的一个小组进行开发的,领头人是GrarBradski,作为视觉领域研究的先锋,他推动了许多CPU密集的视觉应用。在发布一系列Beta版本后,10版本终于在200年面世。第二次重要的版本发布是200年的 OpenCv2,它带来了重要的变化,尤其是包括本书中使用的崭新的C++接口。写作本书时,最新的版本是22(2010年10月)本书覆盖了库中的许多特性,并且展示了如何使用它们完成特定的任务。我们的目标并非事无巨细地讲述 OpenCv提供的函数与类,而是教你零基础进行视觉开发的必备知识。本书中还解释了图像分析中的基本概念,并且对计算机视觉中的一些重要算法进行了介绍。本书对读者而言是接触图像处理与视频分析的一次良机,但这也只是开端。Opencv一直处于改进与扩展功能的阶段,查询在线文档可以了解最新的进展http://opencv.orgo本书内容第1章接触图像:介绍 OpenCv库,并展示如何使用微软 Visual c++与Qt开发环境运行简单的应用。第2章操作像素:解释如何读取图像,将使用不同的方法扫描图像以进行逐像素操作。你也将学习到如何定义图像中的兴趣区域。第3章基于类的图像处理:展示多种面向对象的设计模式,将帮助你更好地构建前计算机视觉应用。第4章使用直方图统计像素:介绍如何计算图像的直方图,以及利用直方图进行图像修改。利用直方图可以实现图像分割、物体检测以及图像检索。第5章基于形态学运算的图像变换:探索形态学变换的概念,展示了不同的形态学操作子以及它们在检测边缘、角点与线段中的用途第6章图像滤波:介绍频域分析及图像滤波的原理。展示了低通、高通滤波器在图像中的应用,并提出两个图像微分算子—梯度和拉普拉斯算子第7章提取直线、轮廓及连通区域:专注于讲解对几何图像特征的检测,解释如何从图像中提取轮廓、线条以及连通区域。第8章检测并匹配兴趣点:介绍不同的兴趣点探测算法,还解释如何计算特征点的描述符,以及如何使用描述符来匹配图像。第9章估算图像间的投影关系:分析图像形成中涉及的不同关系,还探讨了同个场景的两幅图像之间存在的投影关系。第10章处理视频序列:提供一个框架来读写视频并且处理每一帧,还展示了如何在相邻帧之间跟踪兴趣点,以及如何提取相机前移动的前景物体。本书读者如果你是一个C++程序员新手,并且想学习如何使用 Opencv库来构建计算机视觉应用,那么本书非常适合你。同时,它也适合希望学习计算机视觉编程的专业开发人员,可以作为大学计算机视觉课程的学生用书。对于图像处理和计算机视觉领域的研究生及硏究人员而言,它也是一本极佳的参考手册。本书很好地综合了基础知识与进阶内容。当然,这要求读者掌握一定的C++技能。本书约定在这本书中,你会发现许多样式的文字,它们有着不同的含义。下面是一些样式的范例,以及它们的用途。代码中的单词如下显示:“通过使用inc1ude指令我们能够引入其他的上下文代码块的样式则是:前言//获取迭代器cv:: Mat :: const iterator itimage. begin()i当我们希望将读者的注意力集中到某个代码块的部分时,相关的代码行或者文字将设为粗体∥转专换为Lab色彩空间cv: cvtColor(image, converted, Cv BGR2Lab)∥获取转换后图像的迭代器cv::: Mat ::iterator it=提示和技巧以这样的样式显示。读者反馈我们始终欢迎读者的反馈意见。我们渴望知道你对于本书的看法,喜欢哪些内容或者不喜欢哪些内容。你的真实感受,对于我们开发读者切实需要的图书十分重要。如果你有反馈意见,请发送电子邮件至 feedback@packtpub,com,并在邮件主题中注明你评论的书名。如果你希望我们出版某方面的书,请在www, packtpub,com填写“ SUGGEST ATITLE”表格,或发送邮件至suggest@packtpub.com。如果你对某个主题有经验或者有兴趣,愿意撰写或参与撰写一本书,请查看packtpub.com/authors页面中的“作者指南”。客户支持现在,你已经拥有一本 Packt出版的书了,为了让你的付出得到最大的回报,请注意以下事项。V前下载资源包你可以从你在http://www.packtpub.com的账户中,下载已购买的所有Packt书籍的相关文件。如果是在别处购买的这本书,你可以访问http://www.packtpub.com/support,然后填上邮箱,让服务器直接把这些文件通过电子邮件发给勘误虽然我们会尽仝力确保本书内容的准确性,但错误仍时有发生。如果你发现了本书中的错误(包括文字和代码错误),而且愿意告诉我们,我们将十分感激。这样做不仅可以减少其他读者的挫败感,也有助于本书再版时的改进。如果你发现任何错误,都可以访问http://www.packtpub.com/support选择相应的书,以勘误表的形式报告具体错误。一旦得到验证,你的意见将被采纳,勘误表也会被上传到我们的网站,或者添加到已有的勘误表中。已有的勘误表可以在http://wwwpacktpub,com/ support查阅。举报盗版互联网上涉及各种媒体的盗版行为始终存在。 Packt非常重视版权的保护和许可无论您在互联网上发现对我们的作品的任何形式的盜版,请告诉我们其链接或网址,以便我们采取相应的补救措施。请将涉嫌包含盗版资料的链接发送至copyright@packtpub.com。感谢你保护作者的权益及我们继续为你提供有价值的内容的能力。疑问解答有关于本书的任何问题,你都可以通过邮箱 questions@ packtpub,com联系我们,我们将尽最大的努力解决。
用户评论