Get savvy with OpenCV and actualize cool computer vision applications
About This Book
- Use OpenCV's Python bindings to capture video, manipulate images, and track objects
- Learn about the different functions of OpenCV and their actual implementations.
- Develop a series of intermediate to advanced projects using OpenCV and Python
Who This Book Is For
This learning path is for someone who has a working knowledge of Python and wants to try out OpenCV. This Learning Path will take you from a beginner to an expert in computer vision applications using OpenCV. OpenCV's application are humongous and this Learning Path is the best resource to get yourself acquainted thoroughly with OpenCV.
What You Will Learn
- Install OpenCV and related software such as Python, NumPy, SciPy, OpenNI, and SensorKinect - all on Windows, Mac or Ubuntu
- Apply "curves" and other color transformations to simulate the look of old photos, movies, or video games
- Apply geometric transformations to images, perform image filtering, and convert an image into a cartoon-like image
- Recognize hand gestures in real time and perform hand-shape analysis based on the output of a Microsoft Kinect sensor
- Reconstruct a 3D real-world scene from 2D camera motion and common camera reprojection techniques
- Detect and recognize street signs using a cascade classifier and support vector machines (SVMs)
- Identify emotional expressions in human faces using convolutional neural networks (CNNs) and SVMs
- Strengthen your OpenCV2 skills and learn how to use new OpenCV3 features
OpenCV is a state-of-art computer vision library that allows a great variety of image and video processing operations. OpenCV for Python enables us to run computer vision algorithms in real time. This learning path proposes to teach the following topics. First, we will learn how to get started with OpenCV and OpenCV3's Python API, and develop a computer vision application that tracks body parts. Then, we will build amazing intermediate-level computer vision applications such as making an object disappear from an image, identifying different shapes, reconstructing a 3D map from images , and building an augmented reality application, Finally, we'll move to more advanced projects such as hand gesture recognition, tracking visually salient objects, as well as recognizing traffic signs and emotions on faces using support vector machines and multi-layer perceptrons respectively.
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
- OpenCV Computer Vision with Python by Joseph Howse
- OpenCV with Python By Example by Prateek Joshi
- OpenCV with Python Blueprints by Michael Beyeler
Style and approach
This course aims to create a smooth learning path that will teach you how to get started with will learn how to get started with OpenCV and OpenCV 3's Python API, and develop superb computer vision applications. Through this comprehensive course, you'll learn to create computer vision applications from scratch to finish and more!.
About the Author
Joseph Howse (Joe) is fanciful. So to him, the virtual world always seemed to reach out into reality. One of his earliest memories is of watching an animated time-bomb on the screen of a Tandy Color Computer. The animation was programmed in BASIC by Joe's older brother, Sam, who explained, "I'm making a bomb. Get ready!"The bomb exploded in a rain of dots and a rumble of beeps as Joe and Sam ran to hide from the fallout. Today, Joe still fancies that a computer program can blast a tunnel into reality. As a hobby, he likes looking at reality through the tunnel of a digital camera's lens. As a career, he develops augmented reality software, which uses cameras and other sensors to composite real and virtual scenes interactively in real time. Joe holds a Master of Computer Science degree from Dalhousie University. He does research on software architecture as applied to augmented reality. Joe works at Ad-Dispatch, an augmented reality company, where he develops applications for mobile devices, kiosks, and the Web. Joe likes cats, kittens, oceans, and seas. Felines and saline water sustain him. He lives with his multi-species family in Halifax, on Canada's Atlantic coast. Prateek Joshi is a computer vision researcher with a primary focus on content-based analysis. He is particularly interested in intelligent algorithms that can understand images to produce scene descriptions in terms of constituent objects. He has a master's degree from the University of Southern California, specializing in computer vision. He was elected to become a member of the Honor Society for academic excellence and an ambassador for the School of Engineering. Over the course of his career, he has worked for companies such as Nvidia, Microsoft Research, Qualcomm, and a couple of early stage start-ups in Silicon Valley. His work in this field has resulted in multiple patents, tech demos, and research papers at major IEEE conferences. He has won many hackathons using a wide variety of technologies related to image recognition. He enjoys blogging about topics such as artificial intelligence, abstract mathematics, and cryptography. His blog has been visited by users in more than 200 countries, and he has been featured as a guest author in prominent tech magazines. Michael Beyeler is a PhD candidate in the department of computer science at the University of California, Irvine, where he is working on computational models of the brain as well as their integration into autonomous brain-inspired robots. His work on vision-based navigation, learning, and cognition has been presented at IEEE conferences and published in international journals. Currently, he is one of the main developers of CARLsim, an open source GPGPU spiking neural network simulator. This is his first technical book that, in contrast to his (or any) dissertation, might actually be read. Michael has professional programming experience in Python, C/C++, CUDA, MATLAB, and Android. Born and raised in Switzerland, he received a BSc degree in electrical engineering and information technology, as well as a MSc degree in biomedical engineering from ETH Zurich. When he is not "nerding out" on robots, he can be found on top of a snowy mountain, in front of a live band, or behind the piano.