OpenCV Android Programming By Example
eBook - ePub

OpenCV Android Programming By Example

Amgad Muhammad

Condividi libro
  1. 202 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

OpenCV Android Programming By Example

Amgad Muhammad

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

Develop vision-aware and intelligent Android applications with the robust OpenCV library

About This Book

  • This is the most up-to-date book on OpenCV Android programming on the market at the moment. There is no direct competition for our title.
  • Based on a technology that is increasing in popularity, proven by activity in forums related to this topic.
  • This book uniquely covers applications such as the Panoramic viewer and Automatic Selfie, among others.

Who This Book Is For

If you are an Android developer and want to know how to implement vision-aware applications using OpenCV, then this book is definitely for you.

It would be very helpful if you understand the basics of image processing and computer vision, but no prior experience is required

What You Will Learn

  • Identify and install all the elements needed to start building vision-aware Android applications
  • Explore image representation, colored and gray scale
  • Recognize and apply convolution operations and filtering to deal with noisy data
  • Use different shape analysis techniques
  • Extract and identify interest points in an image
  • Understand and perform object detection
  • Run native computer vision algorithms and gain performance boosts

In Detail

Starting from the basics of computer vision and OpenCV, we'll take you all the way to creating exciting applications. You will discover that, though computer vision is a challenging subject, the ideas and algorithms used are simple and intuitive, and you will appreciate the abstraction layer that OpenCV uses to do the heavy lifting for you. Packed with many examples, the book will help you understand the main data structures used within OpenCV, and how you can use them to gain performance boosts. Next we will discuss and use several image processing algorithms such as histogram equalization, filters, and color space conversion. You then will learn about image gradients and how they are used in many shape analysis techniques such as edge detection, Hough Line Transform, and Hough Circle Transform. In addition to using shape analysis to find things in images, you will learn how to describe objects in images in a more robust way using different feature detectors and descriptors.

By the end of this book, you will be able to make intelligent decisions using the famous Adaboost learning algorithm.

Style and approach

An easy-to-follow tutorial packed with hands-on examples. Each topic is explained and placed in context, and the book supplies full details of the concepts used for added proficiency.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
OpenCV Android Programming By Example è disponibile online in formato PDF/ePub?
Sì, puoi accedere a OpenCV Android Programming By Example di Amgad Muhammad in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatique e Sciences générales de l'informatique. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2015
ISBN
9781783550593

OpenCV Android Programming By Example


Table of Contents

OpenCV Android Programming By Example
Credits
About the Author
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. Getting Yourself Ready
Installing Tegra Android Development Pack
Downloading and installing TADP
TADP post-installation configuration
Installing emulator system images
Configuring Eclipse to work with NDK
NDK verification
Installing the OpenCV and Android development environment manually
Java SE Development Kit 6
Android Studio
Android SDK
Eclipse IDE
ADT and CDT plugins for Eclipse
Android NDK
Downloading Android NDK
Installing and configuring Android NDK
Building native code using Eclipse
OpenCV4Android SDK
Understanding how NDK works
An overview of NDK
A simple example of NDK
Android.mk
Building your first Android project with OpenCV
HelloVisionWorld Android application
Creating a project in Eclipse
Creating a project in Android Studio
Summary
2. App 1 - Building Your Own Darkroom
Digital images
Color spaces
The Mat class
Basic Mat operations
Processing the images stored on your phone
Loading an image to a Mat object
UI definitions
Reading an image using OpenCV
Calculating an image histogram
What are histograms?
Understanding histogram components
UI definitions
Calculating an image histogram
Enhancing the image contrast
Understanding histogram equalization
Enhancing grayscale images
UI definitions
Converting an image to grayscale
Equalizing a histogram for a grayscale image
Enhancing an HSV image
UI definitions
Equalizing a histogram for the image saturation and value
Enhancing an RGB image
UI definitions
Equalizing a histogram for the image color channels
Summary
3. App 2 - Software Scanner
Spatial filtering
Understanding convolution and linear filtering
Removing noise
The averaging filter
The Gaussian filter
The median filter
UI definitions
Applying filters to reduce image noise
Finding edges
The Sobel edge detector
The Canny edge detector
UI definitions
Applying the Sobel filter to find edges
Using the Canny edge detector
Detecting shapes
Understanding the Hough line transform
Detecting lines using Hough transform
UI definitions
Detecting and drawing lines
Detecting circles using Hough transform
UI definitions
Detecting and drawing circles
Summary
4. App 2 - Applying Perspective Correction
Image transformations and perspective correction
Translation
Rotation and translation
Scaled rotation
Affine
Perspective transformation
Rigid perspective correction
UI definitions
Estimating the perspective transformation using the object bounding box
Flexible perspective correction
UI definitions
Applying flexible perspective correction
Manual perspective correction
UI definitions
Selecting the corners manually
Summary
5. App 3 - Panoramic Viewer
Image features
Feature detectors
Understanding the Harris corner detector
UI definitions
Using the Harris corner detector
Calling a native Harris corner detector
Using the native OpenCV library within Eclipse
Using the native OpenCV library within Android Studio
Working on the native part
Understanding the FAST corner detector
UI definitions
Using the FAST corner detector
Using native FAST
Understanding the ORB feature detector
UI definitions
Using the ORB feature detector
Using native ORB
Feature description and matching
Understanding BRIEF and ORB feature descriptors
Understanding the BRISK feature descriptor
Understanding the FREAK feature descriptor
Matching the features
Working with feature matching
UI definitions
Finding an object in a scene
Native feature matching
UI definitions
The native matching process
Stitching two images
UI definitions
The native stitcher
Summary
6. App 4 – Automatic Selfie
Cascade classifiers
Haar-like features
The integral image
Adaptive Boosting
Cascading
Using cascade classifiers to detect objects
Accessing your phone's camera using OpenCV
A camera preview
UI definitions
Previewing the camera frames
Detecting closed palms in the camera frames
Using the Java-based cascade classifier
Summary
Index

OpenCV Android Programming By Example

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 author, 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: December 2015
Production reference: 1071215
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78355-059-3
www.packtpub.com

Credits

Author
Amgad Muhammad
Reviewers
Noritsuna Imamura
André Moreira
Commissioning Editor
Neil Alexander
Acquisition Editor
Meeta Rajani
Content Development Editor
Mayur Pawanikar
Technical Editor
Manthan Raja
Copy Editor
Tasneem Fatehi
Project Coordinator
Nidhi Joshi
Proofreader
Safis Editing
Indexer
Monica Ajmera Mehta
Graphics
Ahmed H. Alley
Kirk D'Penha
Jason Monteiro
Production Coordinator
Arvindkumar Gup...

Indice dei contenuti