O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

OpenCV 3.0 Computer Vision with Java

Book Description

Create multiplatform computer vision desktop and web applications using the combination of OpenCV and Java

In Detail

OpenCV 3.0 Computer Vision with Java is a practical tutorial guide that explains fundamental tasks from computer vision while focusing on Java development. This book will teach you how to set up OpenCV for Java and handle matrices using the basic operations of image processing such as filtering and image transforms. It will also help you learn how to use Haar cascades for tracking faces and to detect foreground and background regions with the help of a Kinect device. It will even give you insights into server-side OpenCV. Each chapter is presented with several projects that are ready to use. The functionality of these projects is found in many classes that allow developers to understand computer vision principles and rapidly extend or customize the projects for their needs.

What You Will Learn

  • Create powerful GUIs for computer vision applications with panels, scroll panes, radio buttons, sliders, windows, and mouse interaction using the popular Swing GUI widget toolkit

  • Stretch, shrink, warp, and rotate images, as well as apply image transforms to find edges, lines, and circles, and even use Discrete Fourier Transforms (DFT)

  • Detect foreground or background regions and work with depth images with a Kinect device

  • Learn how to add computer vision capabilities to rock solid Java web applications allowing you to upload photos and create astonishing effects

  • Track faces and apply mixed reality effects such as adding virtual hats to uploaded photos

  • Filter noisy images, work with morphological operators, use flood fill, and threshold the important regions of an image

  • Open and process video streams from webcams or video files

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. OpenCV 3.0 Computer Vision with Java
      1. Table of Contents
      2. OpenCV 3.0 Computer Vision with Java
      3. Credits
      4. About the Author
      5. Acknowledgment
      6. About the Reviewers
      7. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      9. 1. Setting Up OpenCV for Java
        1. Getting OpenCV for Java development
        2. Building OpenCV from the source code
        3. The Java OpenCV project in Eclipse
        4. The NetBeans configuration
        5. A Java OpenCV simple application
        6. Building your project with Ant
        7. The Java OpenCV Maven configuration
          1. Creating a Windows Java OpenCV Maven project pointing to the Packt repository
          2. Creating a Java OpenCV Maven project pointing to a local repository
        8. Summary
      10. 2. Handling Matrices, Files, Cameras, and GUIs
        1. Basic matrix manipulation
        2. Pixel manipulation
        3. Loading and displaying images from files
        4. Displaying an image with Swing
        5. Capturing a video from a camera
        6. Video playback
        7. Swing GUI's integration with OpenCV
        8. Summary
      11. 3. Image Filters and Morphological Operators
        1. Smoothing
          1. Averaging
          2. Gaussian
          3. Median filtering
          4. Bilateral filtering
        2. Morphological operators
        3. Flood filling
        4. Image pyramids
        5. Thresholding
        6. Summary
      12. 4. Image Transforms
        1. The Gradient and Sobel derivatives
        2. The Laplace and Canny transforms
        3. The line and circle Hough transforms
        4. Geometric transforms – stretch, shrink, warp, and rotate
        5. Discrete Fourier Transform and Discrete Cosine Transform
        6. Integral images
        7. Distance transforms
        8. Histogram equalization
        9. References
        10. Summary
      13. 5. Object Detection Using Ada Boost and Haar Cascades
        1. The boosting theory
          1. AdaBoost
        2. Cascade classifier detection and training
        3. Detection
        4. Training
        5. References
        6. Summary
      14. 6. Detecting Foreground and Background Regions and Depth with a Kinect Device
        1. Background subtraction
        2. Frame differencing
        3. Averaging a background method
        4. The mixture of Gaussians method
        5. Contour finding
        6. Kinect depth maps
          1. The Kinect setup
            1. The driver setup
            2. The OpenCV Kinect support
          2. The Kinect depth application
        7. Summary
      15. 7. OpenCV on the Server Side
        1. Setting up an OpenCV web application
          1. Creating a Maven-based web application
          2. Adding OpenCV dependencies
          3. Running the web application
          4. Importing the project to Eclipse
        2. Mixed reality web applications
          1. Image upload
        3. Image processing
          1. The response image
        4. Summary
      16. Index