OpenCV 3.x with Python By Example
Second Edition
Make the most of OpenCV and Python to build applications for object recognition and augmented reality
Gabriel Garrido
Prateek Joshi
BIRMINGHAM - MUMBAI
OpenCV 3.x with Python By ExampleSecond Edition
Copyright 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors nor Packt Publishing or its dealers and distributors will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor: Aaron Lazar
Acquisition Editor: Chaitanya Nair
Content Development Editor: Rohit Kumar Singh
Technical Editor: Ketan Kamble
Copy Editor: Safis Editing
Project Coordinator: Vaidehi Sawant
Proofreader: Safis Editing
Indexer: Rekha Nair
Graphics Coordinator: Jason Monteiro
Production Coordinator: Shraddha Falebhai
First published: September 2015
Second edition: January 2018
Production reference: 1150118
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78839-690-5
www.packtpub.com
Contributors
About the authors
Gabriel Garrido is a multifaceted and versatile software engineer with more than 7 years of experience in developing web applications for companies such as Telefonica, Trivago, and Base7Booking. He has a degree in computer science from the University of Granada, Spain.
He is passionate about coding, focusing on its quality and spending hours working on personal projects based on technologies such as computer vision, artificial intelligence, and augmented reality. Taking part in hackathons is one of his hobbies. He has won a couple of prizes for implementing beta software for a Google Cardboard hackathon and another for a travel assistant at a TNOOZ hackathon.
I'd like to thank each one of the colleagues that I've had close to me throughout all these years working in the software industry for helping me enhance my knowledge and my experience in this amazing world of hacking.
Prateek Joshi is an artificial intelligence researcher, an author of eight published books, and a TEDx speaker. He has been featured in Forbes 30 Under 30, CNBC, TechCrunch, Silicon Valley Business Journal, and many more publications. He is the founder of Pluto AI, a venture-funded Silicon Valley start-up building an intelligence platform for water facilities. He has been an invited speaker at technology and entrepreneurship conferences including TEDx, Global Big Data Conference, Machine Learning Developers Conference, Sensors Expo , and more. His tech blog has more than 1.6 million page views from over 200 countries, and he has more than 7,400 followers. He graduated from the University of Southern California with a master's degree specializing in Artificial Intelligence. He has previously worked at NVIDIA and Microsoft Research. You can learn more about him on his personal website.
About the reviewer
Naren Yellavula, better known as Naren Arya in the developer community, is a Python and Go developer from Bangalore, India. He works as software engineer level two for Citrix R&D India, and as a full stack developer, he develops single-page applications and microservices. He loves the UNIX philosophy and blogs about programming. He has also been a speaker at various developer conferences, such as PyCon India 2015 and 2017. When he's not staring at his computer screen, he enjoys reading books.
I really appreciate Prateek and Gabriel for their passion in writing this amazing book. This book covers a wide range of topics on computer vision and AI. As an initial reader in the reviewing process, I enjoyed reading this book thoroughly. I also sincerely congratulate the editorial team for their hard work in polishing and iterating the book. All the best!
Packt is searching for authors like you
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
mapt.io
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
PacktPub.com
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details.
At www.PacktPub.com , you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Preface
Computer vision is found everywhere in modern technology. OpenCV for Python enables us to run computer vision algorithms in real time. With the advent of powerful machines, we are getting more processing power to work with. Using this technology, we can seamlessly integrate our computer vision applications into the cloud. Web developers can develop complex applications without having to reinvent the wheel. This book is a practical tutorial that covers various examples at different levels, teaching you about the different functions of OpenCV and their actual implementations.
Who this book is for
This book is intended for Python developers who are new to OpenCV and want to develop computer vision applications with OpenCV and Python. This book is also useful for generic software developers who want to deploy computer vision applications on the cloud. It would be helpful to have some familiarity with basic mathematical concepts such as vectors and matrices.
Next page