Book Image

Android Application Programming with OpenCV 3

By : Joseph Howse
Book Image

Android Application Programming with OpenCV 3

By: Joseph Howse

Overview of this book

<p>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).</p> <p>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.</p>
Table of Contents (13 chapters)
Android Application Programming with OpenCV 3
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Mixing color channels


As we saw in Chapter 2, Working with Camera Frames, OpenCV stores image data in a matrix of type Mat, which is like a multidimensional array. The rows and columns (specified by the first and second indices, respectively) correspond to the y and x pixel coordinates in the image. The elements are pixel values. A pixel value may be represented by one number (in the case of a grayscale image) or multiple numbers (in the case of a color image). Each of these numbers is said to belong to a channel. An opaque, grayscale image has just one channel, value (brightness), which is abbreviated as V. A color image may have as many as four channels—for example, red, green, blue, and alpha (transparency), which constitute the RGBA color model. Other useful models for color images include RGB (red, green, blue), HSV (hue, saturation, value), and YUV (brightness, greenness versus blueness, greenness versus redness). In this book, we focus on RGB and RGBA images, but OpenCV supports...