没有合适的资源?快使用搜索试试~ 我知道了~
首页OpenCV 3入门指南:C++与计算机视觉实战
OpenCV 3入门指南:C++与计算机视觉实战
需积分: 10 2 下载量 103 浏览量
更新于2024-07-19
收藏 42.65MB PDF 举报
"《Learning OpenCV 3》是一本由Adrian Kaehler和Gary Bradski合著的计算机视觉教程,它全面介绍了如何使用OpenCV 3这一强大的跨平台计算机视觉库。OpenCV是一款基于BSD许可的开源软件,它的设计目标是提供一个轻量级且高效的工具集,支持多种操作系统,包括Linux、Windows、Android和Mac OS。这个库主要由C函数和少量C++类构成,这使得它在性能优化方面表现出色。 书中深入讲解了如何在C++环境中利用OpenCV进行各种图像处理和计算机视觉任务。内容涵盖了从基础概念如图像读取和显示,到高级功能如特征检测、对象识别、机器学习和深度学习的实现。作者通过丰富的代码示例和实用案例,帮助读者掌握如何构建实际应用,无论是在实时视频分析、机器人导航,还是在图像内容理解等领域。 除了C++接口,OpenCV还提供了Python、Ruby和MATLAB等其他语言的接口,这极大地扩展了其适用范围,使得不同编程背景的开发者都能方便地接入和利用其功能。学习这本书,读者不仅能了解到OpenCV的底层机制,还能学习到如何在实践中有效地集成这些技术。 版权信息显示,该书于2017年出版,适合用于教育、商业或销售推广用途。O'Reilly Media公司负责编辑、制作和发行,书中包括了详细的索引、专业的内部设计以及严谨的校对,确保了内容的专业性和易读性。对于希望深入了解计算机视觉技术,特别是使用OpenCV的开发者和研究者来说,《Learning OpenCV 3》无疑是一本不可多得的参考资料。"
资源详情
资源推荐
Current GSoC Work 913
Community Contributions 915
OpenCV.org 916
Some AI Speculation 917
Afterword 920
A. Planar Subdivisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
B. opencv_contrib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
C. Calibration Patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
Bibliography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967
xiv | Table of Contents
Preface
This book provides a working guide to the C++ Open Source Computer Vision
Library (OpenCV) version 3.x and gives a general background on the field of com‐
puter vision sufficient to help readers use OpenCV effectively.
Purpose of This Book
Computer vision is a rapidly growing field largely because of four trends:
• The advent of mobile phones put millions of cameras in people’s hands.
•
The Internet and search engines aggregated the resulting giant flows of image
and video data into huge databases.
• Computer processing power became a cheap commodity.
• Vision algorithms themselves became more mature (now with the advent of deep
neural networks, which OpenCV is increasingly supporting; see dnn at
opencv_contrib [opencv_contrib]).
OpenCV has played a role in the growth of computer vision by enabling hundreds of
thousands of people to do more productive work in vision. OpenCV 3.x now allows
students, researchers, professionals, and entrepreneurs to efficiently implement
projects and jump-start research by providing them with a coherent C++ computer
vision architecture that is optimized over many platforms.
The purpose of this book is to:
• Comprehensively document OpenCV by detailing what function calling conven‐
tions really mean and how to use them correctly
• Give the reader an intuitive understanding of how the vision algorithms work
• Give the reader some sense of what algorithm to use and when to use it
Preface | xv
• Give the reader a boost in implementing computer vision and machine learning
algorithms by providing many working code examples to start from
• Suggest ways to fix some of the more advanced routines when something goes
wrong
This book documents OpenCV in a way that allows the reader to rapidly do interest‐
ing and fun things in computer vision. It gives an intuitive understanding of how the
algorithms work, which serves to guide the reader in designing and debugging vision
applications and also makes the formal descriptions of computer vision and machine
learning algorithms in other texts easier to comprehend and remember.
Who This Book Is For
This book contains descriptions, working code examples, and explanations of the
C++ computer vision tools contained in the OpenCV 3.x library. Thus, it should be
helpful to many different kinds of users:
Professionals and entrepreneurs
For practicing professionals who need to rapidly prototype or professionally
implement computer vision systems, the sample code provides a quick frame‐
work with which to start. Our descriptions of the algorithms can quickly teach or
remind the reader how they work. OpenCV 3.x sits on top of a hardware acceler‐
ation layer (HAL) so that implemented algorithms can run efficiently, seamlessly
taking advantage of a variety of hardware platforms.
Students
This is the text we wish had back in school. The intuitive explanations, detailed
documentation, and sample code will allow you to boot up faster in computer
vision, work on more interesting class projects, and ultimately contribute new
research to the field.
Teachers
Computer vision is a fast-moving field. We’ve found it effective to have students
rapidly cover an accessible text while the instructor fills in formal exposition
where needed and supplements that with current papers or guest lectures from
experts. The students can meanwhile start class projects earlier and attempt more
ambitious tasks.
Hobbyists
Computer vision is fun—here’s how to hack it.
We have a strong focus on giving readers enough intuition, documentation, and
working code to enable rapid implementation of real-time vision applications.
xvi | Preface
1 Always with a warning to more casual users that they may skip such sections.
What This Book Is Not
This book is not a formal text. We do go into mathematical detail at various points,
1
but it is all in the service of developing deeper intuitions behind the algorithms or to
clarify the implications of any assumptions built into those algorithms. We have not
attempted a formal mathematical exposition here and might even incur some wrath
along the way from those who do write formal expositions.
This book has more of an “applied” nature. It will certainly be of general help, but is
not aimed at any of the specialized niches in computer vision (e.g., medical imaging
or remote sensing analysis).
That said, we believe that by reading the explanations here first, a student will not
only learn the theory better, but remember it longer as well. Therefore, this book
would make a good adjunct text to a theoretical course and would be a great text for
an introductory or project-centric course.
About the Programs in This Book
All the program examples in this book are based on OpenCV version 3.x. The code
should work under Linux, Windows, and OS X. Using references online, OpenCV 3.x
has full support to run on Android and iOS. Source code for the examples in the
book can be fetched from this book’s website; source code for OpenCV is available on
GitHub; and prebuilt versions of OpenCV can be loaded from its SourceForge site.
OpenCV is under ongoing development, with official releases occurring quarterly. To
stay completely current, you should obtain your code updates from the aforemen‐
tioned GitHub site. OpenCV maintains a website at http://opencv.org; for developers,
there is a wiki at https://github.com/opencv/opencv/wiki.
Prerequisites
For the most part, readers need only know how to program in C++. Many of the
math sections in this book are optional and are labeled as such. The mathematics
involve simple algebra and basic matrix algebra, and assume some familiarity with
solution methods to least-squares optimization problems as well as some basic
knowledge of Gaussian distributions, Bayes’ law, and derivatives of simple functions.
The math in this book is in support of developing intuition for the algorithms. The
reader may skip the math and the algorithm descriptions, using only the function
definitions and code examples to get vision applications up and running.
Preface | xvii
How This Book Is Best Used
This text need not be read in order. It can serve as a kind of user manual: look up the
function when you need it, and read the function’s description if you want the gist of
how it works “under the hood.” However, the intent of this book is tutorial. It gives
you a basic understanding of computer vision along with details of how and when to
use selected algorithms.
This book is written to allow its use as an adjunct or primary textbook for an under‐
graduate or graduate course in computer vision. The basic strategy with this method
is for students to read the book for a rapid overview and then supplement that read‐
ing with more formal sections in other textbooks and with papers in the field. There
are exercises at the end of each chapter to help test the student’s knowledge and to
develop further intuitions.
You could approach this text in any of the following ways:
Grab bag
Go through Chapters 1–5 in the first sitting, and then just hit the appropriate
chapters or sections as you need them. This book does not have to be read in
sequence, except for Chapters 18 and 19 (which cover camera calibration and
stereo imaging) and Chapters 20, 21, and 22 (which cover machine learning).
Entrepreneurs and students doing project-based courses might go this way.
Good progress
Read just two chapters a week until you’ve covered Chapters 1–22 in 11 weeks
(Chapter 23 will go by in an instant). Start on projects and dive into details on
selected areas in the field, using additional texts and papers as appropriate.
The sprint
Cruise through the book as fast as your comprehension allows, covering Chap‐
ters 1–23. Then get started on projects and go into detail on selected areas in the
field using additional texts and papers. This is probably the choice for professio‐
nals, but it might also suit a more advanced computer vision course.
Chapter 20 is a brief chapter that gives general background on machine learning,
which is followed by Chapters 21 and 22, which give more details on the machine
learning algorithms implemented in OpenCV and how to use them. Of course,
machine learning is integral to object recognition and a big part of computer vision,
but it’s a field worthy of its own book. Professionals should find this text a suitable
launching point for further explorations of the literature—or for just getting down to
business with the code in that part of the library. The machine learning interface has
been substantially simplified and unified in OpenCV 3.x.
This is how we like to teach computer vision: sprint through the course content at a
level where the students get the gist of how things work; then get students started on
xviii | Preface
剩余1017页未读,继续阅读
无数的BUG
- 粉丝: 1
- 资源: 41
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功