产品特色
编辑推荐
涵盖OpenCV2、OpenCV3双版本的核心编程技巧
附赠OpenCV2、OpenCV3双版本总计200余个配套示例程序源代码
内容简介
OpenCV在计算机视觉领域扮演着重要的角色。作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法。《OpenCV3编程入门》以当前全新版本的OpenCV常用核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能、性能,以及新特性。书本配套的OpenCV2和OpenCV3双版本的示例代码包中,含有总计两百多个详细注释的程序源代码与思路说明。读者可以按图索骥,按技术方向进行快速上手和深入学习。
《OpenCV3编程入门》要求读者具有基础的C/C++知识,适合研究计算机视觉以及相关领域的在校学生和老师、初次接触OpenCV但有一定C/C++编程基础的研究人员,以及已有过OpenCV 1.0编程经验,想快速了解并上手OpenCV2、OpenCV3编程的计算机视觉领域的专业人员。《OpenCV3编程入门》也适合于图像处理、计算机视觉领域的业余爱好者、开源项目爱好者做为通向新版OpenCV的参考手册之用。
《OpenCV3编程入门》配套的【示例程序】、【.exe可执行文件】、【书内彩图】的下载链接可通过扫描《OpenCV3编程入门》封底或后勒口的二维码获取。
作者简介
毛星云,90后,网络ID“浅墨”。微软VC++领域颇具价值专家(MVP),中国2013年度十大杰出JT博客作者,南京航空航天大学2014年度十大杰出青年。CSDN博客专家,2013年度CSDN博客之星,于CSDN写博数年,博客浏览量已逾252万人次。本科毕业于乌克兰国立航空航天大学以及南京航空航天大学,硕士就读于南京航空航天大学。已出版著作《逐梦旅程:Windows游戏编程之从零开始》,个人事迹曾多次被人民网、新华网、凤凰网、网易新闻、新浪新闻、金陵晚报、现代快报等主流媒体报道。
精彩书评
★很好,文章透彻,程序易懂,一看就会,能够快速掌握。
——枫羽落雪
★对于新版OpenCV能有这么透彻的讲解,真是太好了。
——yuhangrcnmin
★文笔不错,而且对编程的理解很到位,向你学习。再次感谢。
——vacuum8899
★很感谢你,看了你写的教程让我少走了很多弯路!
——nicepaiflkillcr
★您写的真透彻!解决很多的疑问和麻烦!感动!
——cy_543
★写的很好,深入浅出,给的程序也很实用,佩服。
——xuliangfirst
★代码写的通俗易懂,对于新手来说真是很有帮助!真心感谢楼主的无私奉献!
——Alex
目录
第一部分 快速上手openCV
第1章 邂逅OpenCV
1.1 openCV周边概念认知
1.1.1 图像处理、计算机视觉与OpenCV
1.1.2 openCV概述
1.1.3 起源及发展
1.1.4 应用概述
1.2 openCV基本架构分析
1.3 openCV3带来了什么
1.3.1 项目架构的改变
1.3.2 将OpenCV2代码升级到OpenCV3报错时的一些策略
1.4 openCV的下载、安装与配置
1.4.1 预准备:下载和安装集成开发环境
1.4.2 第一步:下载和安装OpenCV SDK
1.4.3 第二步:配置环境变量
1.4.4 第三步:工程包含(include)目录的配置
1.4.5 第四步:工程库(1ib)目录的配置
1.4.6 第五步:链接库的配置
1.4.7 第六步:在Windows文件夹下加入openCV动态链接库
1.4.8 第七步:最终测试
1.4.9 可能遇到的问题和解决方案
1.5 快速上手openCV图像处理
1.5.1 第一个程序:图像显示
1.5.2 第二个程序:图像腐蚀
1.5.3 第三个程序:图像模糊
1.5.4 第四个程序:canny边缘检测
1.6 openCV视频操作基础
1.6.1 读取并播放视频
1.6.2 调用摄像头采集图像
1.7 本章小结
第2章 启程前的认知准备
2.1 openCV官方例程引导与赏析
2.1.1 彩色目标跟踪:Camshifi
2.1.2 光流:optical flow
2.1.3 点追踪:lkdemo
2.1.4 人脸识别:objectDetection
2.1.5 支持向量机引导
2.2 开源的魅力:编译openCV源代码
2.2.1 下载安装CMake
2.2.2 使用CMake生成openCV源代码工程的解决方案
2.2.3 编译openCV源代码
2.3 “opencv.hpp”头文件认知
2.4 命名规范约定
2.5 argc与argv参数解惑
2.5.1 初识main函数中的argc和argv
2.5.2 argc、argv的具体含义
2.5.3 Visual Studio中main函数的几种写法说明
2.5.4 总结
2.6 格式输出函数printfo简析
2.6.1 格式输出:printfo函数
2.6.2 示例程序:printf函数的用法示例
2.7 智能显示当前使用的OpenCV版本
2.8 本章小结
第3章 HighGUl图形用户界面初步
3.1 图像的载入、显示和输出到文件
3.1.1 openCV的命名空间
3.1.2 Mat类简析
3.1.3 图像的载入与显示概述
3.1.4 图像的载入:imreado函数
3.1.5 图像的显示:imshowo函数
3.1.6 关于InputArray类型
3.1.7 创建窗口:namedWindowo函数
3.1.8 输出图像到文件:imwriteo函数
3.1.9 综合示例程序:图像的载入、显示与输出
3.2 滑动条的创建和使用
3.2.1 创建滑动条:createTrackbaro函数
3.2.2 获取当前轨迹条的位置:getTrackbarPoso数
3.3 鼠标操作
3.4 本章小结
……
第二部分 初探core组件
第三部分 掌握imgproc组件
第四部分 深入feature2d组件
附录
主要参考文献
前言/序言
计算机视觉是一个近几年来日臻成熟的领域。随着运算性能强劲而又价格实惠的计算设备的不断问世,创建复杂的图像应用从未像今天这般容易。OpenCV在计算机视觉领域扮演着重要的角色,它是一个基于开源发行的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。自1999年问世以来,OpenCV已经被计算机视觉领域的学者和开发者视为首选工具,并成为了计算机视觉领域最有力的研究工具之一。
OpenCV最初由Intel的一个小组进行开发。在一系列的beta版本后,OpenCV1.0正式版本终于在2006年10月19日发布。2009年10月1日,OpenCV2.0问世,它带来了全新的C++接口,将OpenCV的能力无限放大。在2.0的时代,OpenCV增加了全新的平台支持,包括iOS和Andriod,通过CUDA和OpenCL实现了GPU加速,为Python和Java用户提供了接口,基于Github和Buildbot构建了充满艺术感的持续集成的系统,所以才有
了被全世界的很多公司和学校所采用的稳定易用的OpenCV2.4.x。2014年8月21日,OpenCV3.0Alpha发布,它带来了全新的项目架构的改变,宣告了计算机视觉新时代的来临。和其他大型项目一样,OpenCV3抛弃了整体统一架构,使用内核+插件的架构形式,让自身主体更加稳定,而附加的库则可以更加灵活多变,以保持高速的发展与迭代。
本书源自于笔者在CSDN上连载的名为“OpenCV入门教程”的系列博客文章,自2014年2月24日发表第一篇以来,得到了广大OpenCV爱好者的广泛关注与支持,累计阅读量突破了40多万人次。不少读者强烈希望将这些内容集结成书,并加入更多新的内容。于是,经过笔者半年的笔耕不辍,便有了现在这本书的诞生。
作为一本入门级的OpenCV编程教材,本书以详细注释的程序代码为主线,以新版OpenCV最核心的core、HighGUI、improc和feature2d这4个组件的相关函数、类和数据结构为出发点,详细讲解了学习新版本OpenCV中会遇到了各种问题,并提供了详尽的实战代码作为参考。本书的写作初衷是让更多的使用者能熟练使用采用新版C++接口的OpenCV2或OpenCV3,了解OpenCV2和OpenCV3的诸多细节上的区别,以推动新版OpenCV在世界范围内的普及。
本书的内容安排
本书分为4个部分、11个章节,现将内容梗概列举如下。
第1章邂逅OpenCV:介绍OpenCV的周边概念,分析OpenCV的基本架构,讲解OpenCV3的新特性。本章重点讲解了OpenCV的下载、安装与配置过程;在配置完成后,带领大家正式领略OpenCV的魅力,讲解了4个OpenCV图像处理小程序,并指导大家学习如何使用OpenCV操作视频和调用摄像头。
第2章启程前的认知准备:进行OpenCV官方例程的引导学习与赏析,讲解如何编译OpenCV的源代码,并引入了对一些周边概念的认知。
第3章HighGUI图形用户界面初步:对图像的载入、显示和输出到文件进行详细地分析,讲解OpenCV中滑动条的创建和使用,以及如何用鼠标进行交互操作。
第4章OpenCV数据结构与基本绘图:讲解OpenCV中常用的数据结构以及基本的绘图操作。
第5章core组件进阶:讲解core模块的一些进阶知识点,如操作图像中的像素、图像混合、分离颜色通道、调节图像的对比度和亮度、进行离散傅里叶变换,以及输入输出XML和YAML文件。
第6章图像处理:学习各种利用OpenCV进行图像处理的方法,包括属于线性滤波的方框滤波、均值滤波与高斯滤波,属于非线性滤波的中值滤波、双边滤波;两种基本形态学操作——膨胀与腐蚀;5种高级形态学滤波操作——开运算、闭运算、形态学梯度、顶帽以及黑帽;此外,还有漫水填充算法、图像金字塔、图像缩放、阈值化。
第7章图像变换:讲解多种类型的图像变换方法。包括利用OpenCV进行边缘检测所用到的canny算子、sobel算子,Laplace算子以及scharr滤波器;进行图像特征提取的霍夫线变换、霍夫圆变换,重映射和仿射变换以及直方图均衡化。
第8章图像轮廓与图像分割修复:讲解如何查找轮廓并绘制轮廓,如何寻找物体的凸包,使用多边形来包围轮廓,以及计算一个图像的矩。此外还介绍了分水岭算法和图像修补操作的实现方法。
第9章直方图与匹配:讲解图像直方图相关的编程技巧,以及直方图对比、
反向投影和模板匹配技术。
第10章角点检测:讲解Harris角点检测和Shi-Tomasi角点检测,以及一种亚像素角点检测方法。
第11章特征检测与匹配:使用OpenCV2讲解并实现了SURF、SIFT和ORB特征检测方法,并在FLANN特征匹配的基础上,进一步实现了利用Homography映射来找出已知物体。
适合阅读本书的读者
􀁹研究计算机视觉以及相关领域的在校学生和老师
本书拥有详实的内容,注释详尽的代码,会是助你通过OpenCV来研习计算机视觉理论、撰写论文、通过毕业设计、完成科研项目的得力工具。同时,本书适合作为大学计算机视觉课程的教学用书。
􀁹初次接触OpenCV、有一定C/C++编程基础的研究人员
作为一本定位为快速入门新版OpenCV标准的编程教程,本书需要的仅仅是一些简单的C/C++编程语言基础。如果你已经具备了这些基础,并对计算机视觉感兴趣,那么本书正是为你所准备的。
􀁹已经有过OpenCV1.0编程经验,想快速了解并上手OpenCV2、OpenCV3编程的计算机视觉领域的专业人员如果你曾经使用过OpenCV1.0,或者研读过OpenCV1.0时代的经典著作
《LearningOpenCV》,本书会让你倍感亲切。你会发现新版OpenCV带了更多强大和便利的特性,让你事半功倍,如虎添翼。
􀁹想拥有一本新版OpenCV接口工具书的计算机视觉爱好者本书中将自OpenCV2以来(包括OpenCV3)的常用类和函数进行了详细地讲解,并在附录中提供了“书本核心函数清单”以便检索。你会在书中快速查找到你需要用到的函数、数据结构和类的用法。
􀁹想拥有海量的详细注释的OpenCV2、OpenCV3示例程序代码的OpenCV爱
好者
本书包含OpenCV2版的95个书本主线示例程序源代码、21个附赠示例程序源代码,OpenCV3版的95个书本主线示例程序源代码。OpenCV2、OpenCV3两版代码提供分开下载。这些程序代码都经过详细而有条理的注释,并提供可以独立运行的.exe文件供快速查看程序效果,方便查看和检索。你会在海量的示例程序中找到你需要的参考代码,从而加速你的研究和学习。
􀁹图像处理、计算机视觉领域的业余爱好者
海阔凭鱼跃,天高任鸟飞,计算机视觉领域的宝库任你探索。
􀁹开源项目爱好者
OpenCV作为一个完全免费并开源代码开发的计算机视觉代码库,有总计上百万行的源代码供你研究学习,本书将是引导你学习它们的良师益友。
本书的示例程序说明
本书的示例程序最初都在OpenCV2.4.9(2014年4月15日面世)版本下开发,书稿初版也是基于OpenCV2.4.9而写。在书稿写作和修订过程中,恰逢OpenCV3.0Alpha(2014年8月21日)和OpenCV3Beta(2014年11月11日)的发布,所以本书在审校和修订过程中(2014年12月1日),决定站在浪潮之巅,以OpenCV2为主,加入OpenCV3的诸多特性,让这本书可以同时胜任OpenCV2和OpenCV3两个版本教材的角色。这也是为什么本书会有OpenCV2和OpenCV3两个独立版本的示例程序的原因。两个版本、详细注释的100多个示例程序源代码是本书的灵魂,现将示例程序的相关情况概括如下。
􀁹本书包含OpenCV2版的95个书本主线示例程序源代码、21个附赠示例程
序源代码,以及OpenCV3版的95个书本主线示例程序源代码。
􀁹OpenCV2、OpenCV3两版代码提供分开下载。
􀁹OpenCV2版的示例程序在Windows764位旗舰版、VisualStuido2010、OpenCV2.4.9的环境下开发与测试,理论上支持OpenCV2系列的所有版本的编译运行。
􀁹OpenCV3版的示例程序在Windows764位旗舰版、VisualStuido2010、OpenCV3.0beta的环境下开发与测试,理论上支持目前已经发布的OpenCV3全版本。
􀁹程序源代码都经过详细而有条理的注释。
􀁹额外提供可以独立运行的.exe文件供快速查看程序效果,并方便检索。
本书配套示例代码的下载方式有以下几种。
􀁹扫描本书封面后勒口的二维码,得到下载地址。
􀁹在作者博客中单击相应的书本维护博文里贴出的下载链接。
􀁹在电子工业出版社的官方网站中进行下载。
􀁹直接用搜索引擎搜索“《OpenCV3编程入门》书本配套源代码”,找到对应
的下载地址进行下载。
致谢
首先
OpenCV3编程入门 电子书 下载 mobi epub pdf txt