A digital camera image processing chain is constituted to imitate the major functions of the Human Visual System (HVS).
The above figure explains the chain. The camera sensor produces a “raw” Colour Filter Array (CFA) which is the input to this chain. Autofocus, auto exposure and automatic white balancing algorithms are collectively referred to as A*. A* senses the scene edge content, brightness level, illuminant colour and have adjusted the corresponding camera capture parameters before the shutter button has been pressed. This is same as imitating the adaptable adjustment of HVS parameters, such as the eye’s pupil and lens thickness, as well as the gains within the retina.
Once the CFA image has been read from the device sensor, the first of possibly many noise reduction operations is performed. While the name of this operation carries an obvious meaning and intent, noise reduction is a far subtler and sophisticated task than one might presume. From the HVS perspective, not all kinds of noise are equally important, and married with the additional HVS perspective that not all kinds of scene features are equally important, the noise reduction task now becomes one of modifying the aggressiveness of the cleaning process to respect the integrity of the underlying scene detail that is visually most important. At the same time, the effectiveness of the noise reduction operation must be ensured. After the camera sensor reads the CFA image, noise reduction operations are performed. The noise reduction is a very sophisticated task because not all kinds of noise are equally valued. The algorithm should retain details of the scene which are visually important. After noise reduction, the white balancing operation is performed. The chromatic adaption of the HVS is simulated here. This means that irrespective of the illuminating light the white paper should look white.
In digital image processing, Demosaicing is the most distinctive image processing operation. Most cameras have a single sensor covered with a CFA to reduce cost and size. Due to restriction by CFA the pixel in the sensor captures a single colour, typically red, green and blue. The job of demosaicing is to restore the two missing colour channels as three colour channels are required to describe a colour. To archive this, we need to take benefit of the correlation between neighbouring pixels.
Colour corrections role is to alter the non-standard colour data into a standard colour space. This process assures that the image is appropriately shown on display devices. Brightness adaption mechanism of the HVS is simulated tone scaling. As the displays are dimmer by a number of magnitudes tone scaling makes sure that the outdoor lighting scene looks correct. Edge enhancement is responsible for amplifying the real image details and not image noise. Mathematical redundancies are considered in order to reduce the size of an image file. No information is lost as the compression is lossless. After this step, an RGB file is generated which is stored on the device.
- Image Edge Detection Operators in Digital Image Processing
- Digital Image Processing Basics
- Redundancy in Digital Image Processing
- Difference between Opening and Closing in Digital Image Processing
- Image Processing in Java | Set 3 (Colored image to greyscale image conversion)
- Image Processing in Java | Set 6 (Colored image to Sepia image conversion)
- Image Processing in Java | Set 4 (Colored image to Negative image conversion)
- Image Processing in Java | Set 5 (Colored to Red Green Blue Image Conversion)
- Image Processing in Java | Set 7 (Creating a random pixel image)
- Getting started with Scikit-image: image processing in Python
- Image Processing in Java | Set 8 (Creating mirror image)
- Image Processing in Java | Set 11 (Changing orientation of image)
- Image Processing in Java | Set 10 ( Watermarking an image )
- Difference between Digital Light Processing (DLP) and Liquid Crystal Display (LCD) Projector
- Satellite Image Processing
- Components of Image Processing System
- Histogram Equalisation in C | Image Processing
- CNN - Image data pre-processing with generators
- Image Processing without OpenCV | Python
- Image Processing In Java | Set 2 (Get and set Pixels)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.