Mastering OpenCV Android Application Programming
eBook - ePub

Mastering OpenCV Android Application Programming

Salil Kapur, Nisarg Thakkar

Compartir libro
  1. 216 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Mastering OpenCV Android Application Programming

Salil Kapur, Nisarg Thakkar

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

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.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Mastering OpenCV Android Application Programming un PDF/ePUB en línea?
Sí, puedes acceder a Mastering OpenCV Android Application Programming de Salil Kapur, Nisarg Thakkar en formato PDF o ePUB, así como a otros libros populares de Informatica y Informatica generale. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2015
ISBN
9781783988204
Edición
1
Categoría
Informatica

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...

Índice