OpenCV Android Programming By Example
eBook - ePub

OpenCV Android Programming By Example

Amgad Muhammad

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

OpenCV Android Programming By Example

Amgad Muhammad

Book details
Book preview
Table of contents
Citations

About This Book

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.

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 OpenCV Android Programming By Example an online PDF/ePUB?
Yes, you can access OpenCV Android Programming By Example by Amgad Muhammad in PDF and/or ePUB format, as well as other popular books in Informatique & Sciences générales de l'informatique. We have over one million books available in our catalogue for you to explore.

Information

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

Table of contents