系统阐述OpenCV基本概念、数学原理
C++和Python双实现!
数字图像处理,即用计算机对图像进行处理。初期,图像数字化的设备是非常昂贵和复杂的,随着互联网、人工智能、智能硬件等技术的迅猛发展,硬件成本越来越便宜,使得在我们生活中产生了大量的图像和视频,与此同时,计算机视觉技术在人类生活中起到的作用也越来越大,其在商业、工业、医学等领域有着广泛的应用。
如今,连市场上很低价位的智能手机都可以配置一组高分辨率的摄像头,安卓和苹果手机应用市场中出现了大量基于图像处理的App,比如Rookie Cam、VSCO、Snapseed 等,这些App 内均有大量图像处理方法,如图像的裁剪、缩放、旋转、美颜、饱和度和亮度的调整及其各种滤镜方法等,通常可以满足人们日常生活中拍照娱乐的需求。我们经常使用的购物App,如淘宝中的“拍立淘”功能,可以用它拍下我们喜欢的物品,然后会自动检索出与其匹配的商品。还有比如基于人脸识别的手机支付、考勤系统等,基于字符识别的智能停车系统等,可见数字图像处理已经慢慢地和我们的生活、娱乐息息相关。
OpenCV 作为一款开源的计算机视觉开发工具包,在计算机视觉领域扮演着非常重要的角色,它在提供源码的同时,给出了非常完整的OpenCV 函数手册及其示例手册,这两个文档也是学习OpenCV 的第一手和最重要的资料。这些优势使得数千名研究人员在视觉领域能够获得更高的生产力,并帮助学生和专业人员快速开发和研究有关的机器视觉项目,而我也是其中的众多受益者之一。
本书大体按照经典教材冈萨雷斯的《数字图像处理(第三版)》和OpenCV 使用手册(主要是improc 模块)的知识脉络,并在此基础上加入了某些具体方向的最新方法,试图帮助初学者更加快速、系统地掌握基本的数字图像处理技术的数学原理,以及如何将抽象的数学原理转换为代码实现的方法,然后详细介绍了OpenCV 实现对应的函数,并分别给出了C++接口和Python 接口的使用方法,以及OpenCV 2.X 和OpenCV 3.X 的区别。
张平,数学与应用数学专业,算法工程师。主要从事图像算法研究和产品的应用开发,此外还从事有关机器学习、数据挖掘算法的应用研发工作。
《OpenCV算法精解:基于Python与C++》是以OpenCV 为工具学习数字图像处理的入门书。内容由浅入深,每一章都采用阐述基本概念、数学原理、C++ 实现、Python 实现相结合的方法,使初学者循序渐进地掌握数字图像处理技术。本书既注重基本的概念理论及数学原理,也注重其代码实现及实际应用,力求帮助读者全面系统地掌握图像算法的基本技术,同时为掌握OpenCV 打下良好的基础。
本书适合入门图像处理和计算机视觉领域的初学者阅读,要求读者具备一定的C++ 或Python 编程基础。
Python与C++双实现,助力读者轻松驾驭OpenCV算法,夯实计算机视觉领域基础知识!
基本概念理论+数学原理
详细介绍OpenCV实现对应的函数
注重代码实现(分别给出Python和C++实现)及实际应用
评论有奖规则
如果你对本书感兴趣,可在本文下方留言,说出自己的申请理由,小编会放出有价值的评论,且根据用户评论点赞数+申请理由+上一期是否中奖综合之后,挑选出3 名参与荐书的小伙伴。
获奖名单会在下次荐书文章中公布。
如果有迫不及待想要即刻阅读这本书的宝宝们,可长按识别下方二维码,即可订购~
预售地址
扫描二维码购买《OpenCV算法精解:基于Python与C++》
上期“荐书”获奖名单公布
获奖的3名同学
请在评论里留下你的姓名,联系方式和地址哦
看完此文,你有什么想法或观点呢?欢迎在留言区留言评论。
点击图片get更多精彩
这是转型AI的励志故事,从非科班到拿下阿里云栖一等奖,他经历的坑足够你学习100天!
真会玩!刘强东搞了个”猪脸识别“比赛,冠军奖单人能拿30万!
机器学习已经成为许多商业应用和研究项目中不可或缺的一部分,但这一领域并不仅限于拥有广泛研究团队的大公司。如果您使用Python,即使是初学者,这本书也会教你构建自己的机器学习解决方案的实用方法。今天,有了所有可用的数据,机器学习应用程序只受限于你的想象力。
您将学习使用Python和scikit-learn库创建成功的机器学习应用程序所需的步骤。两位作者安德烈亚斯•穆勒(Andreas Muller)和萨拉•圭多(Sarah Guido)关注的是使用机器学习算法的实践层面,而不是背后的数学。熟悉NumPy和matplotlib库将有助于您从本书获得更多信息。
通过这本书,你会学到 :
改进您的编程技术和方法,成为一个更有生产力和创造性的Python程序员。本书探索了一些概念和特性,这些概念和特性不仅将改进您的代码,而且还将帮助您理解Python社区,并对Python哲学有深入的了解和详细的介绍。
专业的Python 3,第三版给你的工具写干净,创新的代码。它首先回顾了一些核心的Python原则,这些原则将在本书后面的各种概念和示例中进行说明。本书的前半部分探讨了函数、类、协议和字符串的各个方面,描述了一些技术,这些技术可能不是常见的知识,但它们共同构成了坚实的基础。后面的章节涉及文档、测试和应用程序分发。在此过程中,您将开发一个复杂的Python框架,该框架将整合在本书中所学到的思想。
这个版本的更新包括Python 3中迭代器的角色、用Scrapy和BeautifulSoup进行web抓取、使用请求调用没有字符串的web页面、用于分发和安装的新工具等等。在本书的最后,您将准备好部署不常见的特性,这些特性可以将您的Python技能提升到下一个级别。
你将学习
这本书是给谁看的 熟悉Python的中级程序员,希望提升到高级水平。您应该至少编写了一个简单的Python应用程序,并且熟悉基本的面向对象方法、使用交互式解释器和编写控制结构。
【导读】计算机视觉是一门对图像中信息进行自动提取的学科。信息的内容相当广泛,包括三维模型、照相机位置、目标检测与识别,以及图像内容的分组与搜索等。本书中,我们使用广义的计算机视觉概念,包括图像扭曲、降噪和增强现实等。计算机视觉有时试图模拟人类视觉,有时使用数据和统计方法,而有时几何是解决问题的关键。如果你想对计算机视觉的基本理论和算法有一个基本的了解,这个动手的介绍是理想的起点。您将学习对象识别、3D重建、立体成像、增强现实和其他计算机视觉应用程序的技术,并学习用Python编写的示例。
前言
今天,图像和视频无处不在,在线照片分享网站和社交网络上的图像有数十亿之多。几乎对于任意可能的查询图像,搜索引擎都会给用户返回检索的图像。实际上,几乎所有手机和计算机都有内置的摄像头,所以在人们的设备中,有几 G 的图像和视频是一件很寻常的事。
计算机视觉就是用计算机编程,并设计算法来理解在这些图像中有什么。计算机视觉的有力应用有图像搜索、机器人导航、医学图像分析、照片管理等。
本书旨在为计算机视觉实战提供一个简单的切入点,让学生、研究者和爱好者充分理解其基础理论和算法。本书中的编程语言是 Python,Python 自带了很多可以免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块,可以免费获取。
写作本书的时候,我遵循了以下原则。
鼓励探究式学习,让读者在阅读本书的时候,在计算机上跟着书中示例进行练习。
推广和使用免费且开源的软件,设立较低的学习门槛。显然,我们选择了 Python。
保持内容完整性和独立性。本书没有介绍计算机视觉的全部内容,而是完整呈现并解释所有代码。你应该能够重现这些示例,并可以直接在它们之上构建其他应用。
内容追求广泛而非详细,且相对于理论更注重鼓舞和激励。
总之,如果你对计算机视觉编程感兴趣,希望它能给你带来启发。
各章概览
第 1 章“基本的图像操作和处理”介绍用来处理图像的基本工具及本书用到的核心 Python 模块,同时涵盖了很多贯穿全书的基础示例。
第 2 章“局部图像描述子”讲解检测图像兴趣点的方法,以及怎样使用它们在图像间寻找相应点和区域。
第 3 章“图像到图像的映射”描述图像间基本的变换及其计算方法。涵盖从图像扭曲到创建全景图像的示例。
第 4 章“照相机模型与增强现实”介绍如何对照相机建模、生成从三维空间到图像特征的图像投影,并估计照相机视点。
第 5 章“多视图几何”讲解如何对具有相同场景、多视图几何基本面的图像进行处理,以及怎样从图像计算三维重建。
第 6 章“图像聚类”介绍一些聚类方法,并展示如何基于相似性或内容对图像进行分组和组织。
第 7 章“图像搜索”展示如何建立有效的图像检索技术,以便能够存储图像的表示,并基于图像的视觉内容搜索图像。
第 8 章“图像内容分类”描述了图像内容分类算法,以及怎样使用它们识别图像中的物体。
第 9 章“图像分割”介绍了通过聚类、用户交互或图像模型,将图像分割成有意义区域的不同技术。
第 10 章“OpenCV”展示怎样使用常用的 OpenCV 计算机视觉库 Python 接口,以及如何处理视频及摄像头的输入。
精通OpenCV,目前已是第三版,其目标是计算机视觉工程师朝着精通OpenCV迈出了第一步。本书将数学公式保持在最低限度,提供了从构思到运行代码的完整项目,针对计算机视觉中的当前热门话题,例如面部识别,界标检测和姿势估计以及具有深度卷积网络的数字识别。
本书涵盖以下内容: