capable of computing three-dimensional structures from the video created onboard.
Using the three-dimensional reconstructed digital models, further extensions like
AR or VR application are developed to interface the image world with the real world.
• Image segmentation: This is creating cluster regions in images, such that one cluster
has similar properties. The usual approach is to cluster image pixels belonging to the
same object. Recent applications have grown in self-driving cars and healthcare
analysis using image regions.
• Image generation: These have a greater impact in the artistic domain, merging
different image styles or generating completely new ones. Now, we can mix and
merge Van Gogh's painting style with smartphone camera images to create images that
appear as if they were painted in a similar style to Van Gogh's.
The field is quickly evolving, not only through making newer methods of image analysis but
also finding newer applications where computer vision can be used. Therefore, applications
are not just limited to those explained previously.
Developing vision applications requires significant knowledge of tools and techniques.
In Chapter 2, Libraries, Development Platform, and Datasets, we will see a list of tools that
helps in implementing vision techniques. One of the popular tools for this is OpenCV, which
consists of most common algorithms of computer vision. For more recent techniques such as
deep learning, Keras and TensorFlow can be used in creating applications.
Though we will see an introductory image operations in the next section, in Chapter 3, Image
Filtering and Transformations in OpenCV, there are more elaborate image operations of
filtering and transformations. These act as initial operations in many applications to remove
unwanted information.
In Chapter 4, What is a Feature?, we will be introduced to the features of an image. There are
several properties in an image such as corners, edges, and so on that can act as key points.
These properties are used to find similarities between images. We will implement and
understand common features and feature extractors.
The recent advances in vision techniques for image classification or object detection use
advanced features that utilize deep-learning-based approaches. In Chapter 5, Convolutional
Neural Networks, we will begin with understanding various components of a convolutional
neural network and how it can be used to classify images.
Object detection, as explained before, is a more complex problem of both localizing the
position of an object in an image as well as saying what type of object it is. This, therefore,
requires more complex techniques, which we will see in Chapter 6, Feature-Based Object
Detection, using TensorFlow.
If we would like to know the region of an object in an image, we need to perform image
segmentation. In Chapter 7, Segmentation and Tracking, we will see some techniques for
image segmentation using convolutional neural networks and also techniques for tracking
multiple objects in a sequence of images or video.