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 image in MATLAB:
- 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 for Matlab Images
Let us now understand the use of all the above functions in MATLAB. We will use an image that is stored in MATLAB’s image processing app and will execute all the above functions in steps for that image.
In the first step, we Load or Read the image into our workspace.
imageInput = imread ('moon.tif');[‘imread’ will read the image and will store it in the array ‘imageInput’]
In this step we will display our image in the workspace.
imshow (imageInput)[‘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 color bar to check the intensity of the colors.
imagesc (imageInput)[‘imagesc’ will display the image with a full range of colors from the colormap]
colorbar[‘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 color bar 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.
figure[Used to display the histogram for intensity]
imhist (imageInput)[‘imhist’ will create 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 at the beginning.
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 very narrow pixel intensity.
newImage = histeq (imageInput);[‘histeq function will improve the pixel intensity or we can say that it will improve the contrast of our image]
figure[Displaying our new image (with improved contrast]
As we can see in the output, the contrast of our image has changed drastically.
In this step, let us call ‘imhist’ function again with ‘newImage’ as the input. This will confirm that contrast or pixel intensities of the new image created are now distributed in a better way
As we can see in the histogram above, the pixel intensities of the new image created are now distributed in a better way.
In this step, we will insert the new image into disk file.
imwrite (newImage, 'moon2.png');[Using ‘imwrite’ to save the image in disk file]
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.
imfinfo ('moon2.png')[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.