<p><b>Develop vision-aware and intelligent Android applications with the robust OpenCV library</b></p><h2>About This Book</h2><ul><li>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.</li><li>Based on a technolog
OpenCV Android Programming by Example
โ Scribed by Amgad Muhammad
- Publisher
- Packt Publishing
- Year
- 2015
- Tongue
- English
- Leaves
- 199
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
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.
โฆ Table of Contents
Cover
Copyright
Credits
About the Author
About the Reviewers
www.PacktPub.com
Table of Contents
Preface
Chapter 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
Building your first Android project with OpenCV
HelloVisionWorld Android application
Creating a project in Eclipse
Creating a project in Android Studio
Summary
Chapter 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
Enhancing the image contrast
Understanding histogram equalization
Enhancing grayscale images
Enhancing an HSV image
Enhancing an RGB image
Summary
Chapter 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
Chapter 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
Chapter 5: App 3 - Panoramic Viewer
Image features
Feature detectors
Understanding the Harris corner detector
Understanding the FAST corner detector
Understanding the ORB feature detector
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
Native feature matching
Stitching two images
Summary
Chapter 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
Detecting closed palms in the camera frames
Using the Java-based cascade classifier
Summary
Index
๐ SIMILAR VOLUMES
Android gaming is a hot topic these days, but one of the few areas of technology that does not have an abundance of clear and useful documentation online. However, there is an ever-increasing demand for Android games. This book will help you get up to speed with the essentials of game development w