# Image Complement in Matlab

**Prerequisite:** RGB image representation

MATLAB stores most images as two-dimensional matrices, in which each element of the matrix corresponds to a single discrete pixel in the displayed image. Some images, such as truecolor images, represent images using a three-dimensional array. In truecolor images, the first plane in the third dimension represents the red pixel intensities, the second plane represents the green pixel intensities, and the third plane represents the blue pixel intensities.

**Image Complement:**

In the complement of a binary image, zeros become ones and ones become zeros. Black and white are reversed.

In the complement of a grayscale or color image, each pixel value is subtracted from the maximum pixel value supported by the class (or 1.0 for double-precision images). The difference is used as the pixel value in the output image. In the output image, dark areas become lighter and light areas become darker. For color images, reds become cyan, greens become magenta, blues become yellow, and vice versa.

**Approach:**

- Read the image using imread fuction.
- Complement the image using imcomplement function.
- Display the image using imshow.

**Below is the implementation:**

`% Read the binaryImage ` `i=imread(` `'cameraman.png'` `); ` `% Display the image ` `imshow(i); ` `% Complement the image using function ` `i=imcomplement(i); ` `% Display the complemented image ` `figure, imshow(i); ` `% Read the colored image ` `a=imread(` `'flower.png'` `); ` `% Display the image ` `figure, imshow(a); ` `% Complement the image using function ` `a=imcomplement(a); ` `% Display the complemented image ` `figure, imshow(a); ` |

*chevron_right*

*filter_none*

**Output:**

**Binary Image**

**Complement of Binary Image:**

Here in binary image 0 becomes 1, black and white are reversed.

**Colored image**

**Complement of colored Image:**

Each color channel of the resulting image is the complement of the corresponding color channel in the original image. Regions that were dark, become light. In the original image, the leaves appear green, and petals appear red. In the complement image, the leaves appear magenta. The flower petals appear cyan.

## Recommended Posts:

- MATLAB | Complement colors in RGB Image
- MATLAB | Complement colors in a Grayscale Image
- MATLAB | Complement colors in a Binary image
- MATLAB | Converting a Grayscale Image to Binary Image using Thresholding
- MATLAB | RGB image to grayscale image conversion
- Matlab | Erosion of an Image
- MATLAB | RGB image representation
- Image Resizing in Matlab
- Matlab | Dilation of an Image
- LSB based Image steganography using MATLAB
- Extract bit planes from an Image in Matlab
- Flip image across Secondary Diagonal in MATLAB
- MATLAB | Display histogram of a grayscale Image
- Image Processing in MATLAB | Fundamental Operations
- Matlab | Edge Detection of an image without using in-built function

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.