La imagen binaria es una imagen digital que tiene solo dos valores posibles para cada píxel: 1 o 0, donde 0 representa el blanco y 1 representa el negro. En el complemento de una imagen binaria, el píxel de imagen que tiene valor cero se convierte en uno y el píxel de imagen que tiene valor uno se convierte en cero; es decir, el color blanco y negro de la imagen se invierte.
Complementando la imagen binaria usando la función de biblioteca MATLAB:
% read a Binary Image in MATLAB Environment img=imread('geeksforgeeks.jpg'); % complement binary image % using imcomplement() function comp=imcomplement(img); % Display Complemented Binary Image imshow(comp);
Complementando la imagen binaria sin usar la función de biblioteca:
Podemos complementar una imagen binaria restando cada valor de píxel del valor de píxel máximo posible que puede tener un píxel de imagen binaria (es decir, 1), y la diferencia se usa como el valor de píxel en la imagen complementada. Significa que si un píxel de imagen tiene el valor 1, en la imagen binaria complementada, el mismo píxel tendrá el valor (1 – 1) = 0 y si el píxel de la imagen binaria tiene el valor 0, en la imagen binaria complementada, el mismo píxel tendrá el valor (1 – 0). ) = 1.
A continuación se muestra la implementación de la idea anterior.
% This function will take a Binary image as input % and will complement the colors in it. function [complement] = complementBinary(img) % Determine the number of rows and columns % in the binary image array [x, y]=size(img); % create a array of same number rows and % columns as original binary image array complement=zeros(x, y); % loop to subtract 1 to each pixel. for i=1:x for j=1:y complement(i, j) = 1-img(i, j); end end end % Driver Code % read a Binary Image in MATLAB Environment img=imread('geeksforgeeks.jpg'); % call complementBinary() function to % complement colors in the binary Image comp=complementBinary(img); % Display complemented Binary image imshow(result);
Forma alternativa:
En MATLAB, las arrays son estructuras de datos básicas. Se pueden manipular con mucha facilidad. Por ejemplo Array = 1 - Array ;
, el código anterior restará cada elemento de la array de 1. Entonces, en lugar de usar dos bucles para restar 1 a cada píxel de la imagen binaria. Podemos escribirlo directamente como – comp=1-img
Aquí ‘img’ es nuestra array de imágenes binarias.
El siguiente código también complementará una imagen binaria
% read a Binary Image in MATLAB Environment img=imread('geeksforgeeks.jpg'); % complement each pixel by subtracting it from 1 comp=1-img; % Display Complemented binary Image imshow(comp);
Aporte:
Producción:
Referencias: https://in.mathworks.com/help/images/ref/imcomplement.html