Image Processing
Image processing is a field in software development that is concerned with the manipulation
of images. It is essentially about using different algorithms to extract
information about images or modify them into more useful forms.
Image Processing Applications
Some applications of image processing include:
Feature extraction
Image restoration
Image projection
Image stitching
Image editing
Thumbnail creation
Computer vision
Image processing is involved in some shape or form whenever digital images are being handled. Before
images are displayed on any screen or device, the image is manipulated by the monitor or the gpu.
When a camera takes an image, it does its own processing on the image for final viewing by the user.
Image editing is closely related to image processing; sometimes they are used intechangeably depending on the context.
Image processing is used in autonomous vehicles to process incoming environment video data. It is used for object detection,
as well as object tracking within video applications.
Feature extraction is an important application of image processing. It can be used to find corners in an
image or even find different features of a face.
Feature detection is commonly used in object detection machine learning
algorithms for different kinds of image classification.
A major use of feature detection in computer vision happens in face detection.
Haar like features are used in face detection applications using the viola-jones object detection
framework. The algorithm goes through the image using haar like features to train a learning
algorithm to detect different facial features. An example of the haar features and how they move through
images can be found below.
Image editing is one of the biggest applications of image processing.
Examples of simple processing algorithms used in image editing are exposure compensation, contrast, and
color saturation adjustments. Below are basic examples of these image adjustments.
In the video editing world, there is an image processing data structure
called a waveform. This is similar to an image
histogram but provides more information. However,
waveforms are more computationally expensive to create. The video below explains what they are
and how they are relevant to video editing.
Autonomous vehicles need capture the environment around them, and gather information
using different image processing techniques in order to make decisions in real time.
Autonomous vehicles must extract a myriad of information as it moves through its environment. One important
data point it has to acquire is where the lane boundaries are. If it were on a multilane highway,
it might do this by finding lines on the roads in front of the camera facing the incoming road.
Here is a video of someone's attempt at lane detection:
There are a plethora of other applications using image processing to make the most out of
image data. A list of fields that make use of image processing can be found below. The list
isn't exhaustive, but is a good starting place.