Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Negative of an image in MATLAB

  • Last Updated : 28 Jul, 2020

The negative of an image is achieved by replacing the intensity ‘i’ in the original image by ‘i-1’, i.e. the darkest pixels will become the brightest and the brightest pixels will become the darkest. Image negative is produced by subtracting each pixel from the maximum intensity value.
For example in an 8-bit grayscale image, the max intensity value is 255, thus each pixel is subtracted from 255 to produce the output image.
The transformation function used in image negative is :

s = T(r) = (L – 1) – r

Where L - 1 is the max intensity value,
s is the output pixel value and
r is the input pixel value


  1. Read RGB color image into the MATLAB environment using Matlab inbuilt function imread()
  2. Calculate the levels of the image, for example an 8-bit image has 256 levels
  3. Use the formula stated above on every pixel of the image to get corresponding negative pixel value.
  4. Convert each RGB pixel value at location (i, j) to its negative image values and assign it to the corresponding location (i, j) of another matrix
  5. Display the negative image using Matlab in-built imshow() function.

% reading the RGB file into the Matlab environment
skI = imread("sakura.jpg");   
subplot(1, 2, 1),
% displaying the RGB image
title("Original image");
% levels of the 8-bit image
L = 2 ^ 8;    
% finding the negative                   
neg = (L - 1) - skI;
subplot(1, 2, 2),
% displaying the negative image
title("Negative Image")

Output :

My Personal Notes arrow_drop_up
Recommended Articles
Page :