¿Cómo convertir una imagen RGB en una imagen binaria usando MATLAB?

Una imagen, por definición, es esencialmente una representación visual de algo que representa o registra la percepción visual. Las imágenes se clasifican en uno de los tres tipos. 

  • Imágenes binarias
  • Imágenes en escala de grises
  • Imágenes en color

Imágenes binarias: Este es el tipo de imagen más básico que existe. Los únicos valores de píxeles permitidos en imágenes binarias son 0 (negro) y 1 (blanco). Dado que solo se requieren dos valores para definir la imagen por completo, solo necesitamos un bit y, por lo tanto, las imágenes binarias también se conocen como imágenes de 1 bit. 

Imágenes en escala de grises: Las imágenes en escala de grises son, por definición, imágenes monocromáticas. Las imágenes monocromáticas tienen un solo color y la intensidad de cada píxel se define por el nivel de gris al que corresponde. Generalmente, una imagen de 8 bits es el estándar seguido para imágenes en escala de grises, lo que implica que hay 2 8 = 256 niveles de gris en la imagen indexados de 0 a 255. 

Imágenes en color: las imágenes en color se pueden visualizar mediante 3 planos de color (rojo, verde, azul) apilados uno encima del otro. Cada píxel en un plano específico contiene el valor de intensidad del color de ese plano. Cada píxel en una imagen en color generalmente se compone de 24 bits/píxel con 8 píxeles que contribuyen desde cada plano de color.   

En este artículo, discutiremos cómo convertir una imagen RGB en una imagen binaria usando MATLAB. 

Acercarse :

  • Lea la imagen RGB.
  • Usando la función im2bw() en MATLAB, aplicando umbrales y clasificando los valores de píxel como 0 o 1 comparándolos con el umbral. 
  • Muestre ambas imágenes juntas para fines de comparación. 

Ejemplo 1:

Matlab

% Matlab Code to convert an RGB Image to Binary image
% reading image 
I = imread('GFG.jpeg');
  
% Creating figure window for input image
% Displaying the input image
imshow(I);
  
% Converting the image from rgb to binary using thresholding 
J = im2bw(I,0.7);
  
% Creating figure window for the output image
% Displaying the output image
imshow(J);

Producción:

Figura 1: Imagen de entrada

Figura 2: Imagen de salida

Considere otro ejemplo con la imagen incorporada de MATLAB de un faro. 

Ejemplo 2:

Matlab

% Matlab Code to convert an RGB Image to Binary image
% reading image 
I = imread('lighthouse.png');
  
% Creating figure window for input image
% Displaying the input image
imshow(I);
  
% Converting the image from rgb to 
% binary using thresholding 
J = im2bw(I,0.5);
  
% Creating figure window for the output image
% Displaying the output image
imshow(J);

Producción:

Figura 3: Imagen de entrada

Figura 4: Imagen de salida

Explicación del código:

  • I = imread(‘faro.png’); Esta línea lee la imagen.
  • mostrar(yo); Esta línea muestra la imagen de entrada I en la ventana de la figura
  • J = im2bw(I,0.5); Esta línea convierte la imagen RGB en binaria con el nivel de umbral establecido en 0,5 para comparar los niveles de intensidad de los píxeles. Esencialmente, los 256 niveles de intensidad se asignan a números entre 0 y 1 y luego, según el valor del umbral y el valor del píxel, el píxel se clasifica como blanco o negro.
  • immostrar(J); Esta línea muestra la imagen de salida J en otra ventana de figura.

Este método también se puede aplicar a varias otras imágenes RGB y se puede alternar cambiando los diferentes valores de umbral y viendo cómo se produce la clasificación en función de los valores de umbral variables. 

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 *