Mastering OpenCV Android Application Programming
eBook - ePub

Mastering OpenCV Android Application Programming

Salil Kapur, Nisarg Thakkar

Share book
  1. 216 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Mastering OpenCV Android Application Programming

Salil Kapur, Nisarg Thakkar

Book details
Book preview
Table of contents
Citations

About This Book

If you are a Java and Android developer looking to enhance your skills by learning the latest features of OpenCV Android application programming, then this book is for you.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Mastering OpenCV Android Application Programming an online PDF/ePUB?
Yes, you can access Mastering OpenCV Android Application Programming by Salil Kapur, Nisarg Thakkar in PDF and/or ePUB format, as well as other popular books in Informatica & Informatica generale. We have over one million books available in our catalogue for you to explore.

Information

Year
2015
ISBN
9781783988204

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
Preface
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
1. Applying Effects to Images
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
Thresholding
Adaptive thresholding
Summary
2. Detecting Basic Features in Images
Creating our application
Edge and Corner detection
The Difference of Gaussian technique
The Canny Edge detector
The Sobel operator
Harris Corner detection
Hough transformations
Hough lines
Hough circles
Contours
Project – detecting a Sudoku puzzle in an image
Summary
3. Detecting Objects
What are features?
Scale Invariant Feature Transform
Understanding how SIFT works
Scale-space extrema detection
Keypoint localization
Orientation assignment
Keypoint descriptor
SIFT in OpenCV
Matching features and detecting objects
Brute-force matcher
FLANN based matcher
Matching the points
Detecting objects
Speeded Up Robust Features
SURF detector
SURF descriptor
Orientation assignment
Descriptor based on Haar wavelet responses
SURF in OpenCV
Oriented FAST and Rotated BRIEF
oFAST – FAST keypoint orientation
FAST detector
Orientation by intensity centroid
rBRIEF – Rotation-aware BRIEF
Steered BRIEF
Variance and correlation
ORB in OpenCV
Binary Robust Invariant Scalable Keypoints
Scale-space keypoint detection
Keypoint description
Sampling pattern and rotation estimation
Building the descriptor
BRISK In OpenCV
Fast Retina Keypoint
A retinal sampling pattern
A coarse-to-fine descriptor
Saccadic search
Orientation
FREAK in OpenCV
Summary
4. Drilling Deeper into Object Detection – Using Cascade Classifiers
An introduction to cascade classifiers
Haar cascades
LBP cascades
Face detection using the cascade classifier
HOG descriptors
Project – Happy Camera
Summary
5. Tracking Objects in Videos
Optical flow
The Horn and Schunck method
The Lucas and Kanade method
Checking out the optical flow on Android
Image pyramids
Gaussian pyramids
Laplacian pyramids
Gaussian and Laplacian pyramids in OpenCV
Basic 2D transformations
Global motion estimation
The Kanade-Lucas-Tomasi tracker
Checking out the KLT tracker on OpenCV
Summary
6. Working with Image Alignment and Stitching
Image stitching
Feature detection and matching
Image matching
Homography estimation using RANSAC
Verification of image matches using a probabilistic model
Bundle adjustment
Automatic panoramic straightening
Gain compensation
Multi-band blending
Image stitching using OpenCV
Setting up Android NDK
The layout and Java code
The C++ code
Summary
7. Bringing Your Apps to Life with OpenCV Machine Learning
Optical Character Recognition
OCR using k-nearest neighbors
Making a camera application
Handling the training data
Recognizing digits
OCR using Support Vector Machines
Solving a Sudoku puzzle
Recognizing digits in the puzzle
Summary
8. Troubleshooting and Best Practices
Troubleshooting errors
Permission errors
Some common permissions
Debugging code using Logcat
Best practices
Handling images in Android
Loading images
Processing images
Handling data between multiple activities
Transferring data via Intent
Using static fields
Using a database or a file
Summary
9. Developing a Document Scanning App
Let's begin
The algorithm
Implementing on Android
Summary
Index

Mastering OpenCV Android Application Programming

Copyright © 2015 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, and its dealers and distributors will be held liable for any damages caused or alleged to be 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.
First published: July 2015
Production reference: 1230715
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-820-4
www.packtpub.com

Credits

Authors
Salil Kapur
Nisarg Thakkar
Reviewers
Radhakrishna Dasari
Noritsuna Imamura
Ashwin Kachhara
André Moreira de Souza
Commissioning Editor
Kartikey Pandey
Acquisition Editors
Harsha Bharwani
Aditya Nair
Content Development Editors
Ruchita Bhansali
Kirti Patil
Technical Editor
Ankur Ghiye
Copy Editor
Rashmi Sawant
Project Coordinator
Nidhi Joshi
Proofreader
Safis Editing
Indexer
Hemangini Bari
Graphics
Sheetal Aute
Production Coordinator
Nitesh Thakur
Cover Work
Nitesh Thakur

About the Authors

Salil Kapur is a software engineer at Microsoft. He earned his bachelor's degree in computer science from Birla Institute of Technology and Science, Pilani.
He has a passion for programming and is always excited to try out new technologies. His interests lie in computer vision, networks, and developing scalable systems. He is an open source enthusiast and...

Table of contents