Introduction to Matlab Image Processing
Image Processing apps are provided by MATLAB in the form of a toolbox that helps us in automating commonly used image processing techniques and workflows by enabling interactive segmentation of image data, comparison of image registration methods, and batch processing of large datasets.
Image processing in MATLAB lets us explore any image or video and make changes like adjusting the contrast, manipulating ROI (regions of interest) and create histograms to understand the definition of the image.
Here is the list of some of the most commonly used functions for processing images in MATLAB:
Syntax & Description
- imread (): This function is used to read or load the image which we want to process
- imshow (): This function is used to display the image that we have loaded
- imagesc (): This function is used to display the image by utilizing the full set of colors present in the colormap. A color scale can also be used after calling this function to get a better idea of the colors present
- imhist (): Using This function, we can check how the pixel intensity of the image is distributed
- histeq (): Using this function, we can edit the contrast of our image
- imwrite (): This function is used to insert our edited image into a file
- iminfo (): This function is used to confirm if our edited file is loaded into a disk file
Functions of Matlab Image Processing
Let us now understand the use of all the functions in MATLAB. First, we will use an image stored in MATLAB’s image processing app and execute all the functions in steps for that image.
In the first step, we Load or Read the image into our workspace.
[‘imread’ will read the image and will store it in the array ‘imageInput’]
imageInput = imread (‘kids.tif');
In this step, we will display our image in the workspace.
[‘imshow’ will display the image as output in the workspace]
As we can see in the output, the image is loaded in our workspace.
In this step, we will display our image with the colors from the colormap. We will also use a colorbar to check the intensity of the colors.
[‘imagesc’ will display the image with a full range of colors from the colormap]
[‘colorbar’ is used to display a scale next to the image to check the intensity of the colors]
As we can see in the output, the image is displayed and has a full range of colors in the colormap, and we also have a colorbar next to it.
In this step, we will check the intensity of pixels in our image. We will be using the figure function to display the intensity in the form of a histogram.
[Used to display the histogram for intensity]
[‘imhist’ will create the distribution of the pixel intensities]
As we can see in the output, the range of pixel intensity for our image is very narrow, i.e. the values are concentrated in a small range.
In this step, we will edit the contrast of our image. This is done because we found in the above step that our image has a very narrow pixel intensity.
[‘histeq function will improve the pixel intensity, or we can say that it will improve the contrast of our image]
newImage = histeq (imageInput);
[Displaying our new image (with improved contrast]
As we can see in the output, the contrast of our image has improved drastically.
In this step, let us call the ‘imhist’ function again with ‘newImage’ as the input. This will confirm that contrast or pixel intensities of the new image created are now uniformly distributed.
As we can see in the histogram above, the pixel intensities of the new image created are now uniformly distributed.
In this step, we will insert the new image into the disk file.
[Using ‘imwrite’ to save the image in disk file]
imwrite (newImage, 'kids2.png');
Finally, we will confirm if our image is saved in the disk file or not using the ‘iminfo’ function. This will also give us all other details like file size, format, width, height, etc.
[Getting the information of the saved file]
As we can see in the output, the file is saved as expected by us. We also have all other information related to the image.
- Image processing app can be used in MATLAB to perform various operations on an image, ranging from loading the image, editing it and saving it in the disk file.
- The image processing can be used to process both 2D& 3D images
This is a guide to Matlab Image Processing. Here we discuss the Functions of Matlab Image Processing and will execute all the functions in steps. You may also have a look at the following articles to learn more –