Ilusión óptica en blanco y negro en MATLAB

MATLAB proporciona muchas cajas de herramientas para diferentes aplicaciones. La caja de herramientas de procesamiento de imágenes es una de las cajas de herramientas más importantes de MATLAB. La ilusión óptica en blanco y negro en MATLAB ocurre cuando complementamos los valores de píxel en una imagen en blanco y negro y después de mirar fijamente el centro de la imagen resultante durante un tiempo y, posteriormente, vemos la imagen original en blanco y negro. 

La suposición que se hace aquí es que la imagen de entrada es una imagen RGB, ya que ese formato es el más utilizado. Para las imágenes definidas en otros espacios de color, el primer paso sería convertirlas a RGB y luego implementar el siguiente enfoque.

Acercarse:

  • Lea la imagen RGB.
  • Encuentre el tamaño de la imagen de entrada y luego defina otra imagen usando las dimensiones obtenidas e inicialice con ceros.
  • Utilizando el método im2bw(), primero convierta la imagen RGB en imagen binaria.
  • Usando bucles, complemente los valores de píxel escribiendo declaraciones de condición. Los píxeles también se pueden complementar utilizando el operador NOT unario en cada píxel.
  • Muestre tanto las imágenes binarias como las complementadas.

Implementaremos el método usando dos imágenes, primero usando la imagen GFG. Para ejecutar con éxito los códigos en la máquina local del usuario, es esencial que cualquier imagen que se utilice como entrada esté en el mismo directorio que el archivo de código de MATLAB.

Ejemplo 1:

Matlab

% MATLAB code for Black and
% White optical illusion
% Reading RGB IMAGE
A=imread('GFG.jpeg');
 
% Finding dimensions of input image and
% using that to define output image
% dimensions and initialising with zeros.
B = uint8(zeros(size(A)));
 
% Converting RGB to Binary Image
A=im2bw(A);
 
% Loops for complementing pixel values.
for i=1:size(A,1)
    for j=1:size(A,2)
        if(A(i,j)==0)
            B(i,j,:)=255;
        if(A(i,j)==255)
            B(i,j,:)=0;
        end
      end
   end
end
 
% Displaying both the binary
% and complemented images.
figure
imshow(A);
figure
imshow(B);

Producción:

Figura 1: Imagen de entrada

Figura 2: Imagen binaria de la imagen RGB original

Figura 3: La imagen complementada de Binary Image 

Ahora intentaremos trabajar con otra imagen. 

Ejemplo 2:

Matlab

% MATLAB code for Black & White illusion
% Reading RGB IMAGE
A=imread('Apple.jpeg');
 
% Finding dimensions of input image
% and using that to define output image
% dimensions and initialising with zeros.
B=uint8(zeros(size(A)));
 
% Converting RGB to Binary Image
A=im2bw(A);
 
% Loops for complementing pixel values
for i=1:size(A,1)
    for j=1:size(A,2)
        if(A(i,j)==0)
            B(i,j,:)=255;
        if(A(i,j)==255)
            B(i,j,:)=0;
        end
        end
    end
end
 
% Displaying both the input
% and output images
figure
imshow(A);
figure
imshow(B);

Producción:

Figura 4: Imagen de entrada

Figura 5: Imagen binaria de la imagen RGB original 

Figura 6: Imagen Complementada de Imagen Binaria

Publicación traducida automáticamente

Artículo escrito por htripathi6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *