Open In App

Negative of an image in MATLAB

Last Updated : 28 Jul, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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

Algorithm

  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
imshow(skI);
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
imshow(neg);
title("Negative Image")


Output :


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads