You are previewing A Practical Introduction to Computer Vision with OpenCV.
O'Reilly logo
A Practical Introduction to Computer Vision with OpenCV

Book Description

Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV libraries

Computer Vision is a rapidly expanding area and it is becoming progressively easier for developers to make use of this field due to the ready availability of high quality libraries (such as OpenCV 2). This text is intended to facilitate the practical use of computer vision with the goal being to bridge the gap between the theory and the practical implementation of computer vision. The book will explain how to use the relevant OpenCV library routines and will be accompanied by a full working program including the code snippets from the text. This textbook is a heavily illustrated, practical introduction to an exciting field, the applications of which are becoming almost ubiquitous. We are now surrounded by cameras, for example cameras on computers & tablets/cameras built into our mobile phones/ cameras in games consoles; cameras imaging difficult modalities (such as ultrasound, X-ray, MRI) in hospitals, and surveillance cameras. This book is concerned with helping the next generation of computer developers to make use of all these images in order to develop systems which are more intuitive and interact with us in more intelligent ways.

  • Explains the theory behind basic computer vision and provides a bridge from the theory to practical implementation using the industry standard OpenCV libraries

  • Offers an introduction to computer vision, with enough theory to make clear how the various algorithms work but with an emphasis on practical programming issues

  • Provides enough material for a one semester course in computer vision at senior undergraduate and Masters levels

  • Includes the basics of cameras and images and image processing to remove noise, before moving on to topics such as image histogramming; binary imaging; video processing to detect and model moving objects; geometric operations & camera models; edge detection; features detection; recognition in images

  • Contains a large number of vision application problems to provide students with the opportunity to solve real problems. Images or videos for these problems are provided in the resources associated with this book which include an enhanced eBook

  • Table of Contents

    1. Preface
      1. Electronic Resources
      2. Teaching Computer Vision Using This Text
    2. 1 Introduction
      1. 1.1 A Difficult Problem
      2. 1.2 The Human Vision System
      3. 1.3 Practical Applications of Computer Vision
      4. 1.4 The Future of Computer Vision
      5. 1.5 Material in this Textbook
      6. 1.6 Going Further with Computer Vision
    3. 2 Images
      1. 2.1 Cameras
      2. 2.2 Images
      3. 2.3 Colour Images
      4. 2.4 Noise
      5. 2.5 Smoothing
    4. 3 Histograms
      1. 3.1 1D Histograms
      2. 3.2 3D Histograms
      3. 3.3 Histogram/Image Equalisation
      4. 3.4 Histogram Comparison
      5. 3.5 Back-projection
      6. 3.6 k-means Clustering
    5. 4 Binary Vision
      1. 4.1 Thresholding
      2. 4.2 Threshold Detection Methods
      3. 4.3 Variations on Thresholding
      4. 4.4 Mathematical Morphology
      5. 4.5 Connectivity
    6. 5 Geometric Transformations
      1. 5.1 Problem Specification and Algorithm
      2. 5.2 Affine Transformations
      3. 5.3 Perspective Transformations
      4. 5.4 Specification of More Complex Transformations
      5. 5.5 Interpolation
      6. 5.6 Modelling and Removing Distortion from Cameras
    7. 6 Edges
      1. 6.1 Edge Detection
      2. 6.2 Contour Segmentation
      3. 6.3 Hough Transform
    8. 7 Features
      1. 7.1 Moravec Corner Detection
      2. 7.2 Harris Corner Detection
      3. 7.3 FAST Corner Detection
      4. 7.4 SIFT
      5. 7.5 Other Detectors
    9. 8 Recognition
      1. 8.1 Template Matching
      2. 8.2 Chamfer Matching
      3. 8.3 Statistical Pattern Recognition
      4. 8.4 Cascade of Haar Classifiers
      5. 8.5 Other Recognition Techniques
      6. 8.6 Performance
    10. 9 Video
      1. 9.1 Moving Object Detection
      2. 9.2 Tracking
      3. 9.3 Performance
    11. 10 Vision Problems
      1. 10.1 Baby Food
      2. 10.2 Labels on Glue
      3. 10.3 O-rings
      4. 10.4 Staying in Lane
      5. 10.5 Reading Notices
      6. 10.6 Mailboxes
      7. 10.7 Abandoned and Removed Object Detection
      8. 10.8 Surveillance
      9. 10.9 Traffic Lights
      10. 10.10 Real Time Face Tracking
      11. 10.11 Playing Pool
      12. 10.12 Open Windows
      13. 10.13 Modelling Doors
      14. 10.14 Determining the Time from Analogue Clocks
      15. 10.15 Which Page
      16. 10.16 Nut/Bolt/Washer Classification
      17. 10.17 Road Sign Recognition
      18. 10.18 License Plates
      19. 10.19 Counting Bicycles
      20. 10.20 Recognise Paintings
    12. References
    13. Index
    14. End User License Agreement