Binary image is a digital image that has only two possible value for each pixel – either 1 or 0, where 0 represents white and 1 represents black. In the complement of a binary image, the image pixel having value zeros become ones and the image pixel having value ones become zeros; i.e white and black color of the image is reversed.
Complementing Binary image using MATLAB library function :
Complementing Binary image without using library function :
We can complement a binary image by subtracting each pixel value from maximum possible pixel value a binary image pixel can have (i.e 1 ), and the difference is used as the pixel value in the complemented image. It means if an image pixel have value 1 then, in complemented binary image same pixel will have value ( 1 – 1 ) = 0 and if Binary image pixel have value 0 then, in complemented binary image same pixel will have value ( 1 – 0 ) = 1.
Below is the Implementation of above idea-
Alternate way :
In MATLAB, Arrays are basic data structure.They can be manipulated very easily. For example
Array = 1 - Array ;
Above code will subtract each element of the array from 1. So, Instead of using two loops to subtract 1 to each pixel of binary image. We can directly write it as –
Here ‘img’ is our binary image array.
Below code will also complement a binary Image
- MATLAB | Complement colors in RGB Image
- MATLAB | Complement colors in a Grayscale Image
- Image Complement in Matlab
- MATLAB | Converting a Grayscale Image to Binary Image using Thresholding
- MATLAB | RGB image to grayscale image conversion
- MATLAB | RGB image representation
- Image Resizing in Matlab
- Matlab | Erosion of an Image
- Matlab | Dilation of an Image
- How to vertically flip an Image using MATLAB
- Create Mirror Image using MATLAB
- Extract bit planes from an Image in Matlab
- LSB based Image steganography using MATLAB
- Image Processing in MATLAB | Fundamental Operations
- Flip image across Secondary Diagonal in MATLAB
- MATLAB | Display histogram of a grayscale Image
- MATLAB - Ideal Highpass Filter in Image Processing
- Matlab | Edge Detection of an image without using in-built function
- MATLAB - Ideal Lowpass Filter in Image Processing
- MATLAB - Butterworth Highpass Filter in Image Processing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.