Mastering OpenCV Android Application Programming
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
Master the art of implementing computer vision algorithms on Android platforms to build robust and efficient applications
OpenCV is a famous computer vision library, used to analyze and transform copious amounts of image data, even in real time and on a mobile device.
This book focuses on leveraging mobile platforms to build interactive and useful applications. The book starts off with an introduction to OpenCV and Android and how they interact with each other using OpenCV's Java API. You'll also discover basic image processing techniques such as erosion and dilation of images, before walking through how to build more complex applications, such as object detection, image stitching, and face detection. As you progress, you will be introduced to OpenCV's machine learning framework, enabling you to make your applications smarter.
The book ends with a short chapter covering useful Android tips and tricks and some common errors and solutions that people might face while building an application. By the end of the book, readers will have gained more expertise in building their own OpenCV projects for the Android platform and integrating OpenCV application programming into existing projects.
What You Will Learn
- Understand image processing using OpenCV
- Detect specific objects in an image or video using various state-of-the-art feature-matching algorithms such as SIFT, SURF, and ORB
- Perform image transformations such as changing color, space, resizing, applying filters like Gaussian blur, and likes
- Use mobile phone cameras to interact with the real world
- Explore face detection, object detection, and image stitching in OpenCV Android programming
- Build smarter applications by using machine learning algorithms
- Learn to debug applications and create optimal custom algorithms by understanding how data is stored internally
Show and hide more
Table of contents Product information
Table of contents
- Mastering OpenCV Android Application Programming
- Table of Contents
- Mastering OpenCV Android Application Programming
- Credits
- About the Authors
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers, and more
- Why subscribe?
- Free access for Packt account holders
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- Getting started
- Setting up OpenCV
- Storing images in OpenCV
- Linear filters in OpenCV
- The mean blur method
- The Gaussian blur method
- The median blur method
- Creating custom kernels
- Morphological operations
- Dilation
- Erosion
- Creating our application
- Edge and Corner detection
- The Difference of Gaussian technique
- The Canny Edge detector
- The Sobel operator
- Harris Corner detection
- Hough lines
- Hough circles
- What are features?
- Scale Invariant Feature Transform
- Understanding how SIFT works
- Scale-space extrema detection
- Keypoint localization
- Orientation assignment
- Keypoint descriptor
- Brute-force matcher
- FLANN based matcher
- Matching the points
- Detecting objects
- SURF detector
- SURF descriptor
- Orientation assignment
- Descriptor based on Haar wavelet responses
- oFAST – FAST keypoint orientation
- FAST detector
- Orientation by intensity centroid
- Steered BRIEF
- Variance and correlation
- Scale-space keypoint detection
- Keypoint description
- Sampling pattern and rotation estimation
- Building the descriptor
- A retinal sampling pattern
- A coarse-to-fine descriptor
- Saccadic search
- Orientation
- FREAK in OpenCV
- An introduction to cascade classifiers
- Haar cascades
- LBP cascades
- Optical flow
- The Horn and Schunck method
- The Lucas and Kanade method
- Checking out the optical flow on Android
- Gaussian pyramids
- Laplacian pyramids
- Gaussian and Laplacian pyramids in OpenCV
- Checking out the KLT tracker on OpenCV
- Image stitching
- Feature detection and matching
- Image matching
- Homography estimation using RANSAC
- Verification of image matches using a probabilistic model
- Setting up Android NDK
- The layout and Java code
- The C++ code
- Optical Character Recognition
- OCR using k-nearest neighbors
- Making a camera application
- Handling the training data
- Recognizing digits
- Recognizing digits in the puzzle
- Troubleshooting errors
- Permission errors
- Some common permissions
- Handling images in Android
- Loading images
- Processing images
- Transferring data via Intent
- Using static fields
- Using a database or a file
- Let's begin
- The algorithm
- Implementing on Android
- Summary
Show and hide more
Product information
- Title: Mastering OpenCV Android Application Programming
- Author(s): Salil Kapur, Nisarg Thakkar
- Release date: July 2015
- Publisher(s): Packt Publishing
- ISBN: 9781783988204
You might also like
Check it out now on O’Reilly
Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.