Digital Image Processing in MATLAB


Image processing entails mining data such as the dimension of the detected tumor and the magnitude of an engineering constituent by interpreting arrays obtained during the experimental examination. This is widely applied in biomedical works, in-process quality control in manufacturing industries, and advanced engineering applications. Image processing software has been developed that offers complete picture processing, examination, algorithm expansion, and visualization (González & Woods, 2008, p. 4). Using this software, a technician can boost pictures for enhanced lucidity; re-establish noisy or tainted images, mine image descriptions, evaluate image surface and shapes, and record two images. In this experiment, we are going to study different types of an image obtained and how to interpret them. These images include binary images, intensity images, index images, and RGB images.

Results and Discussion

After examining two images, the following data was obtained;

Name Size Bytes Class
Lena Gray 512×512 262144 uint8 array
Lena True 512x512x3 786432 uint8 array

The “Name” column shows the name of every single variable currently using MATLAB. The MATLAB is displaying names of two variables because only two images; Lena Gray and Lena True Color Images are loaded under the first column.

The second column displays the image size of each variable. Lena Gray’s image scale is 512×512 pixels in size and it is displayed as a result of the “whos” command. It also represents the array storing the pixel information in MATLAB. As for Lena True color image stored in variable Lena True has a different size to that of Lena Gray because the Lena True color image contains Red, Blue, and Green intensity information. The Lena True color image is also 512×512 pixels but is three times greater than the original size in terms of the array storing the information. The reason is that when MATLAB reads a true color (RGB) image it retrieves the information regarding the three intensities above and then keeps these details in different matrices. Therefore, it is a three-dimensional array with 512×512 pixels for Red, Green, and Blue and hence the 512x512x3 attribute.

The “Bytes” column shows the number of bytes occupied by a specific array. The size of the Lena Grayscale image is 512×512 pixels. Because it is an 8bit grayscale image, every pixel has 8bits or 1byte. Therefore, 512x512x1byte=262144bytes. The Lena True color image on the other hand is of the same size but holds information about three different color intensities (Red, Green, and Blue), each intensity requiring 1byte. Hence 512x512x3x1byte=786432bytes is stored.

The last column indicates the category of respective variables stored in MATLAB. As indicated, both variables consist of a “uint8 array” for the images. This implies that the type of matrix and the type of data that is stored in the array is unsigned 8bit data or uint8. Every grayscale value in the image or the three intensities are unsigned or positive integers with levels ranging from 0 to 255. Therefore, the data type in the matrix or array is unsigned 8bit. However, if there were grayscale images at 65536 gray levels then MATLAB would store it in unsigned 16bit or uint16 integers. Other types of data used for storing floating-point data, int8 for positive and negative integers between -128 and 127, and binary data types, classes, e.t.c(Burger,2008, p.2).

Indexed Images

Indexed images consist of a data matrix, X, and colormap array or matrix. The data matrix consists of uint8, uint16, or double. The colormap represents an m-by-3 array of double consisting of floating-point values in the [0,1] range. Every row on the map shows the blue, red, and green features of every color. For Indexed images, the pixel integers are employed in color mapping the integers. Every color pixel’s color is determined by the corresponding value of X. The value 1 represents the first row in the map, 2 represents the second row, and so forth. When a read is working, the indexed images and colormaps that are generally stored together are automatically loaded with images.

Intensity Images

An intensity representation or image is an integer’s matrix, I, in which these values correspond to intensities within a specific range. An intensity image is stored in MATLAB as a single matrix. Each matrix element corresponds to 1 image pixel which can be of class uint8, uint16 or double. MATLAB uses colormap to display Intensity images but they are not saved in a colormap. The recorded intensity matrix components correspond to diverse gray levels. Therefore integers 255 or 65535 generally signify full or white intensity and on the other hand black is indicated by integer 0 (Burger, 2008, p. 2).

Binary Images

As for binary representations, only one distinct number of the two is picked by every pixel. These two discrete values essentially correspond to on and off. Binary images are stored as logical arrays of 0’s (off pixels) and 1’s (on pixels).

RGB (Truecolor)

The MATLAB stores an RGB or a truecolor image as an m-by-n-by-3 data array or matrix that represents the red, green, and blue color components for every pixel. Tue color representations never utilize colormap, alternatively, the color of every pixel is based on an amalgamation of the 3 color intensities amassed in every color plane where every pixel is located. The graphics file stores truecolor/RGB images as 24bit images whereby each of the red, green, and blue color components are 8bits.

Image Storage Classes Supported by MatLab

Images are stored on disk using imwrite storage classifications tabulated in the following table.

Image Storage Class Storage Class of Output Image File
Logical Imwrite generates a 1-bit image if output image file arrangement can sustain 1-bit image, if not supported by 1-bit image, uint8 grayscale picture is generated by imwrite.
Uint8 An unidentified 8-bit picture file is generated if the output picture file arrangement can sustain unidentified 8-bit pictures.
uint16 Imwrite generates an unknown 16-bit picture file if it can be sustained unknown 16-bit pictures(TIFF or PNG)
int16 This relies on file arrangement and therefore is partly supported.
Single This relies on file arrangement and therefore is partly supported
Double Since most file arrangements or formats utilize 8 bits, MATLAB balances the image information to uint8 that is sustained by uint8 output file format.

Works Cited

Burger Mark. “Digital Image Processing, An Algorithm Introduction using Java”  2008. Web.

González Rafael and Woods Richard. “Digital Image Processing Using MATLAB”. 2005. Web.

Cite this paper

Select style


Premium Papers. (2022, December 8). Digital Image Processing in MATLAB. Retrieved from


Premium Papers. (2022, December 8). Digital Image Processing in MATLAB.

Work Cited

"Digital Image Processing in MATLAB." Premium Papers, 8 Dec. 2022,


Premium Papers. (2022) 'Digital Image Processing in MATLAB'. 8 December.


Premium Papers. 2022. "Digital Image Processing in MATLAB." December 8, 2022.

1. Premium Papers. "Digital Image Processing in MATLAB." December 8, 2022.


Premium Papers. "Digital Image Processing in MATLAB." December 8, 2022.