OpenCV算法精解 基于Python与C++

所需积分/C币:49 2018-12-28 16:27:14 83.19MB PDF
收藏 收藏
举报

《OpenCV算法精解:基于Python与C++》是以OpenCV 为工具学习数字图像处理的入门书。内容由浅入深,每一章都采用阐述基本概念、数学原理、C++ 实现、Python 实现相结合的方法,使初学者循序渐进地掌握数字图像处理技术。本书既注重基本的概念理论及数学原理,也注重其代码实现及实际应用,力求帮助读者全面系统地掌握图像算法的基本技术,同时为掌握OpenCV 打下良好的基础。 《OpenCV算法精解:基于Python与C++》适合入门图像处理和计算机视觉领域的初学者阅读,要求读者具备一定的C++ 或Python 编程基础。
内容简介 本书是以 OpenC为工具学习数字图像处理的入门书。内容由浅入深,每一章都采用阐 述基本概念、数学原理、C++实现、 Python实现相结合的方法,使初学者循序渐进地掌握数 字图像处理技术。本书既注重基本的概念理论及数学原理,也注重其代码实现及实际应用, 力求帮助读者全面系统地掌握图像算法的基本技术,同时为掌握 OpenC打下良好的基础。 本书适合入门图像处理和计算机视觉领域的初学者阅读,要求读者具备一定的C++或 Python编程基础。 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。 版权所有,侵权必究。 图书在版编目(CIP)数据 OpenCⅤ算法精解:基于 Python与C++/张平编著.一北京:电子工业出版社,2017.10 ISBN978-7-121-32495-6 L.①O…I.①张…I.①图象处理软件一程序设计Ⅳ.①TP391.41 中国版本图书馆CIP数据核字(2017)第197102号 策划编辑:郑柳洁 责任编辑:葛娜 印刷:北京京科印刷有限公司 装订:北京京科印刷有限公司 出版发行:电子工业出版社 北京市海淀区万寿路173信箱 邮编:100036 开本:787×98016印张:26.25字数:571千字 版次:2017年10月第1版 印次:2018年1月第2次印刷 定价:79.00元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社 发行部联系,联系及邮购电话:(010)88254888,88258888。 质量投诉请发邮件至zts@phei.com.cn,盗版侵杈举报请发邮件至dbqq@phei.com.cn 本书咨询联系方式:(010)5126088819faq@phei.com.cn 前言 数字图像处理,即用计算机对图像进行处理。初期,图像数字化的设备是非常昂贵和复 杂的,随着互联网、人工智能、智能硬件等技术的迅猛发展,硬件成本越来越便宜,使得在 我们生活中产生了大量的图像和视频,与此同时,计算机视觉技术在人类生活中起到的作用 也越来越大,其在商业、工业、医学等领域有着广泛的应用。 如今,连市场上很低价位的智能手机都可以配置一组高分辨率的摄像头,安卓和苹果手 机应用市场中出现了大量基于图像处理的App,比如 Rookie cam、ⅤSCO、 Snapseed等,这 些^pp内均有大量图像处理方法,如图像的裁剪、缩放、旋转、美颜、饱和度和亮度的调整 及其各种滤镜方法等,通常可以满足人们日常生活中拍照娱乐的需求。比如淘宝中的“拍立 淘”功能,可以用它拍下我们喜欢的物品,然后会自动检索出与其匹配的商品。还有比如基 于人脸识别的手机支付、考勤系统等,基于字符识别的智能停车系统等,可见数字图像处理 已经慢慢地和我们的生活、娱乐息息相关。 本书整体架构及特色 OpenCV作为一款开源的计算机视觉开发工具包,在计算机视觉领域扮演着非常重要的 角色,它在提供源码的同时,给出了非常完整的 OpencⅤ函数手册及其示例手册,这两个文 档也是学习 OpenCV的第一手和最重要的资料。这些优势使得数千名硏究人员在视觉领域能 够获得更高的生产力,并帮助学生和专业人员快速开发和研究有关的机器视觉项目,而我也 是其中的众多受益者之一。 本书大体按照经典教材冈萨雷斯的《数字图像处理(第三版)》和 OpenCv使用手册 (主要是 Impro模块)的知识脉络,并在此基础上加入了某些具体方向的最新方法,试图帮 助初学者更加快速、系统地掌握基本的数字图像处理技术的数学原理,以及如何将抽象的数 学原理转换为代码实现的方法。然后详细介绍了 OpenCv实现对应的函数,并分别给出了 C++接口和 Python接口的使用方法,以及 OpenCV2X和 OpenCV3X的区别。 本书面向的读者 本书中图像算法的数学原理部分适合数字图像处理的初学者,示例的C++部分适合具 备C++编程基础的读者,示例的 Python部分适合具备 Python编程基础的读者,同时对于使 用 OpenCV2x版本的读者,书中介绍了 OpenCV3X版本的新特性,这样可以快速过渡到 3X版本。 致谢 特别感谢电子工业出版社博文视点的编辑郑柳洁老师,在写这本书的过程中,她不厌其 烦地解答我遇到的各种各样的问题,真心感谢她一直以来的支持和肯定。 感谢CSDN的白羽中帮助我联系到了博文视点的杨中兴和郑柳洁老师,没有您的帮助, 将无法促成这本书的出版。 感谢我的朋友戴传军和张莹莹给这本书提出了宝贵的建议,以及帮助我完成了书中一些 非常重要的图表。 感谢我的父母、姐姐一直以来对我生活和工作的支持。 感谢 OpenC开源库的所有贡献者 限于篇幅,加之作者水平有限,疏漏和错误在所难免,恳请读者批评、指正。如果您发 现了错误或者有好的建议,请发邮件至 wxcdzhangping@126;com,将不胜感激。 目录 1 OpenCV入门 11初识 OpenCV 1.1.1 OpenCV的模块简介 112 OpenCV24l3与32版本的区别 1.2部署 OpenCV 121在Ⅴ isual studio2015中配置 OpenCV 233 122 OpenCV2XC++API的第一个示例 10 123 OpenCV3XC+AP的第一个示例 1.24在 Anaconda2中配置 OpenCV 13 1.25 OpenCⅤ2 X Python API的第一个示例 1.2.6 OpenCV3. X Python API的第一个示例 6 2图像数字化 21认识 Numpy中的 ndarray 211构造 ndarray对象 212访问 ndarray中的值 22认识 OpenCV中的Mat类 21 221初识Mat. 222构造单通道Mat对象 ,.21 223获得单通道Mat的基本信息 23 224访问单通道Mat对象中的值 24 225向量类vec.. 29 22.6构造多通道Mat对象 30 22.7访问多通道Mat对象中的值 30 22.8获得Mat中某一区域的值 .35 23矩阵的运算 38 2.3.1加法运算 .38 232减法运算 233点乘运算. 42 234点除运算 44 23.5乘法运算 45 2.3.6其他运算 49 24灰度图像数字化 50 24.1概述 50 242将灰度图像转换为Mat 51 243将灰度图转换为 ndarray 53 2.5彩色图像数字化. 53 25.1将RGB彩色图像转换为多通道Mat.. .,,54 252将RGB彩色图转换为三维的 ndarray 55 2.6参考文献 56 3几何变换 57 3.1仿射变换 3.1.1平移... 58 3.12放大和缩小,,,, 3.1.3旋转 60 3.1.4计算仿射矩阵 62 3.1.5插值算法 65 3.1.6 Python实现 3.1.7C++实现 71 318旋转函数 rotate( OpenCV3X新特性) 72 3.2投影变换 74 321原理详解 74 322 Python实现 ,,76 3.2.3C++实现 77 33极坐标变换 ,,,.80 33.1原理详解 ,,,80 332 Python实现 84 3.3.3C++实现 87 334线性极坐标函数 linear Polar( OpenCV3X新特性) 91 33.5对数极坐标函数 log Polar( OpencV3X新特性) 93 34参考文献 95 4对比度增强 96 41灰度直方图 ...96 41.1什么是灰度直方图 41.2 Python及C++实现 97 4.2线性变换 100 4.2.1原理详解 100 42.2 Python实现 ....,,,,...101 4.2.3C++实现. .103 43直方图正规化.. 105 4.3.1原理详解 .,105 4.3.2 Python实现 105 4.3.3C++实现 106 4.3.4正规化函数 normalize.. ,,,108 44伽马变换 111 44.1原理详解 111 442 Python实现 112 443C++实现 113 45全局直方图均衡化 114 4.5.1原理详解 114 45.2 Python实现 ,115 453C++实现 ,117 46限制对比度的自适应直方图均衡化 118 46.1原理详解, ·· 4.6.2代码实现 ,,119 4.7参考文献 121 5图像平滑 122 51二维离散卷积 122 51.1卷积定义及矩阵形式 122 51.2可分离卷积核 ..134 513离散卷积的性质 135 52高斯平滑 140 521高斯卷积核的构建及分离性 l40 522高斯卷积核的二项式近似 142 523 Python实现 144 524C++实现 .145 53均值平滑 ,147 53.1均值卷积核的构建及分离性 147 5.32快速均值平滑 147 533 Python实现 149 534C++实现 151 54中值平滑 .154 54.1原理详解 .154 542 Python实现 155 54.3C++实现 .157 55双边滤波 ,161 5.5.1原理详解. .,16l 552 Python实现 ,,,162 553C++实现 56联合双边滤波 168 56.1原理详解 168 562 Python实现 ,,,168 563C++实现 170 5.7导向滤波 .,173 57.1原理详解 57.2 Python实现 ,,,174 573快速导向滤波 ,176 574C++实现 ,,,,,177 58参考文献 179 6阈值分割 181 6.1方法概述 ,,,,,182 61.1全局阈值分割 182 612阈值函数 threshold( OpenCV3X新特性). 183 6.1.3局部阈值分割 186 62直方图技术法 187 62.1原理详解 .187 62,2 Python实现 188 623C++实现 190 63熵算法 6.31原理详解 191 6.32代码实现 ,,193 64Otsu阈值处理 195 6.4.1原理详解 .195 642 Python实现 .196 64.3C++实现 197 6.5自适应阈值 199 6.5.1原理详解 200 652 Python实现 6.53C++实现 ,201 6.6二值图的逻辑运算 203 66.1“与”和“或”运算 203 662 Python实现 204 663C++实现 ...204 67参考文献 206 7形态学处理 207 7.1腐蚀.. 207 7.1.1原理详解 ,,207 712实现代码及效果 ,,,,208 72膨胀 ,212 7.2.1原理详解 212 722 Python实现 213 7.23C++实现 ,214 73开运算和闭运算 216 7.3.1原理详解 216

...展开详情
试读 127P OpenCV算法精解  基于Python与C++
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
OpenCV算法精解 基于Python与C++ 49积分/C币 立即下载
1/127
OpenCV算法精解  基于Python与C++第1页
OpenCV算法精解  基于Python与C++第2页
OpenCV算法精解  基于Python与C++第3页
OpenCV算法精解  基于Python与C++第4页
OpenCV算法精解  基于Python与C++第5页
OpenCV算法精解  基于Python与C++第6页
OpenCV算法精解  基于Python与C++第7页
OpenCV算法精解  基于Python与C++第8页
OpenCV算法精解  基于Python与C++第9页
OpenCV算法精解  基于Python与C++第10页
OpenCV算法精解  基于Python与C++第11页
OpenCV算法精解  基于Python与C++第12页
OpenCV算法精解  基于Python与C++第13页
OpenCV算法精解  基于Python与C++第14页
OpenCV算法精解  基于Python与C++第15页
OpenCV算法精解  基于Python与C++第16页
OpenCV算法精解  基于Python与C++第17页
OpenCV算法精解  基于Python与C++第18页
OpenCV算法精解  基于Python与C++第19页
OpenCV算法精解  基于Python与C++第20页

试读结束, 可继续阅读

49积分/C币 立即下载 >