Sight/vision is one of the greatest powers of a human being. Our eyes can tell us the shape, size, color of any and everything which comes in front of it.An Image is a 2 D light intensity function f(x,y). A digital image f(x,y) is discretized both in spatial coordinates and brightness.It can be considered as a matrix whose row, column indices specify a point in the image and the element value identifies the intensity value at that points. These elements are referred to as pixels.
As we have seen in the Working of Digital camera article on how digital camera works, and how a Charge Coupled Devices array(CCD array) store the intensity of the image. An intensity value stored at a pixel is defined as the product of illumination and reflectance at that particular point. You must have observed higher the illumination at a particular, the brighter image is.
Now the question in front of us is how to teach our bot this power of sight. As we know we can’t directly write codes for bot to just see a thing and recognize it right away.
Image Processing,as its name suggests, is the processing of various algorithms to get the results according to our wish. A day to day life example of Image Processing can be of Adobe’s Photoshop or Microsoft’s Picture Manager or Google’s Picasa are a few softwares. These softwares provide a user interface for the user to apply different applications such as cropping, color changing. Although these applications are easy to use but the software behind it has been written by a certain code.
In this series of articles we are going to discuss the basic usage of Image processing with respect to robotics and their further applications.
Image Processing has 2 major categories:
1) Improvement of Pictorial information for human perception:
This category mainly concerns the operations on the pictures which are already stored in the system.
The applications are:-
- Image Enhancement: As I wrote above, intensity of an image is a function of illumination.So sometimes due to low illumination conditions we get a dull image. To overcome this we apply Image Enhancement techniques.
- Removing blurriness of Images: Many a times we observe that our images are blurred due to a problem with camera focus or when we take image from a moving platform the images appear blurred. This can be overshadowed by Image restoration Techniques. It is also helpful in Noise Filtering.
- Segmentation: As the name suggest it helps to segment the part of the image on a predefined condition.
- Morphological Processing: This is a very important aspect of Image Processing as deals with the shapes of the segmented image.
- Object Recognition, Representation and Description: These applications involve the recognition and representations of the image.
- Color Image Processing: This application deals with the colors involved in the particular image, which is if we want to segment a red color object from a particular image, then what conditions we need to provide.
2. Image Processing for Robotics:
This category mainly concerns with the real time applications of Image Processing. These applications are used in user controlled robots, autonomous robots, autonomous machine application.
Some applications can be:
- Industrial Machine Vision for product assembly and inspection.
- Automated Target detection and tracking
- Finger Print, Iris, Facial Recognition Systems.
- Robotic Vision
- Autonomous robots and autonomous vehicles.
In this article we saw an intro to the world of Image Processing and some of the major applications of Image Processing. Still to perform all the above said techniques, we would need a computing platform and a software.There are many software which provide image processing applications in both the above categories, like, MATLAB, OpenCV, Image J, LABVIEW, to name a few.Although In this particular series we are going to talk just about MATLAB. In the next article we will talk about an introduction of MATLAB.