Android Application Programming with OpenCV 3

Build Android apps to capture, manipulate, and track objects in 2D and 3D

Android Application Programming with OpenCV 3

This ebook is included in a Mapt subscription
Joseph Howse

1 customer reviews
Build Android apps to capture, manipulate, and track objects in 2D and 3D
$10.00
$29.99
RRP $23.99
RRP $29.99
eBook
Print + eBook
Preview in Mapt

Book Details

ISBN 139781785285387
Paperback190 pages

Book Description

Android Application Programming with OpenCV 3 is a practical, hands-on guide to computer vision and mobile app development. It shows how to capture, manipulate, and analyze images while building an application that combines photography and augmented reality. To help the reader become a well-rounded developer, the book covers OpenCV (a computer vision library), Android SDK (a mobile app framework), OpenGL ES (a 3D graphics framework), and even JNI (a Java/C++ interoperability layer).

Now in its second edition, the book offers thoroughly reviewed code, instructions, and explanations. It is fully updated to support OpenCV 3 and Android 5, as well as earlier versions. Although it focuses on OpenCV's Java bindings, this edition adds an extensive chapter on JNI and C++, so that the reader is well primed to use OpenCV in other environments.

Table of Contents

Chapter 1: Setting Up OpenCV
System requirements
Setting up a development environment
Building the OpenCV samples with Eclipse
Troubleshooting Eclipse projects
Troubleshooting the USB connection
Finding the documentation and help
Summary
Chapter 2: Working with Camera Frames
Designing our app – Second Sight
Creating the Eclipse project
Summary
Chapter 3: Applying Image Effects
Adding files to the project
Mixing color channels
Making subtle color shifts with curves
Mixing pixels with convolution filters
Adding the filters to CameraActivity
Summary
Chapter 4: Recognizing and Tracking Images
Adding files to the project
Understanding image tracking
Writing an image tracking filter
Adding the tracker filters to CameraActivity
Summary
Chapter 5: Combining Image Tracking with 3D Rendering
Adding files to the project
Defining the ARFilter interface
Building projection matrices in CameraProjectionAdapter
Modifying ImageDetectionFilter for 3D tracking
Rendering the cube in ARCubeRenderer
Adding 3D tracking and rendering to CameraActivity
Learning more about 3D graphics on Android
Summary
Chapter 6: Mixing Java and C++ via JNI
Understanding the role of JNI
Measuring performance
Adding files to the project
Building the native library
Modifying the filter interface
Porting the channel-mixing filters to C++
Porting the edge-enhancing filter to C++
Porting the ARFilter to C++
Learning more about OpenCV and C++
Summary

What You Will Learn

  • Install OpenCV and an Android development environment on Windows, Mac, or Linux
  • Control a camera and use its perspective in augmented reality
  • Share photos with other apps via Android's MediaStore and Intent classes
  • Create GUIs and handle events using Android activities and OpenCV
  • Train an image recognizer that can locate famous paintings in a scene
  • Apply "curves" and other color transformations to simulate the look of old photos
  • Apply convolution filters that sharpen, blur, emboss, or darken the details of an image

Authors

Table of Contents

Chapter 1: Setting Up OpenCV
System requirements
Setting up a development environment
Building the OpenCV samples with Eclipse
Troubleshooting Eclipse projects
Troubleshooting the USB connection
Finding the documentation and help
Summary
Chapter 2: Working with Camera Frames
Designing our app – Second Sight
Creating the Eclipse project
Summary
Chapter 3: Applying Image Effects
Adding files to the project
Mixing color channels
Making subtle color shifts with curves
Mixing pixels with convolution filters
Adding the filters to CameraActivity
Summary
Chapter 4: Recognizing and Tracking Images
Adding files to the project
Understanding image tracking
Writing an image tracking filter
Adding the tracker filters to CameraActivity
Summary
Chapter 5: Combining Image Tracking with 3D Rendering
Adding files to the project
Defining the ARFilter interface
Building projection matrices in CameraProjectionAdapter
Modifying ImageDetectionFilter for 3D tracking
Rendering the cube in ARCubeRenderer
Adding 3D tracking and rendering to CameraActivity
Learning more about 3D graphics on Android
Summary
Chapter 6: Mixing Java and C++ via JNI
Understanding the role of JNI
Measuring performance
Adding files to the project
Building the native library
Modifying the filter interface
Porting the channel-mixing filters to C++
Porting the edge-enhancing filter to C++
Porting the ARFilter to C++
Learning more about OpenCV and C++
Summary

Book Details

ISBN 139781785285387
Paperback190 pages
Read More
From 1 reviews

Read More Reviews