Cambie el fondo de la imagen en color a escala de grises en MATLAB

En este artículo, discutiremos cómo cambiar el fondo de una imagen en color a escala de grises usando MATLAB. Nos centramos en el modelo de color RGB . Se toma una imagen en color RGB. Toda la imagen se convierte en escala de grises excepto el objeto resaltado en la imagen. Mantuvimos el color amarillo de la flor y convertimos el resto del fondo en escala de grises.

Función de utilidad:

Esta es la función escrita manualmente. En primer lugar, convierte la imagen en color en escala de grises. Se crea una nueva imagen en color y a los tres canales (RGB) se les asignan los valores de la imagen en escala de grises (obtenida en el primer paso). La idea es mantener el color de la parte interesante de la imagen y mantener el resto de los píxeles en escala de grises. Hemos notado que para la parte central de la flor, los valores de intensidad de Rojo son mayores que igual a 110; los valores de intensidad Verde son mayores que igual a 70 y los valores de intensidad Azul son menores a 90.

Al completar el recorrido y modificar la imagen recién creada. Devolvemos la nueva imagen.

  • Lectura de imágenes: Primero, la imagen de entrada se lee y se almacena en una variable denominada K. Las imágenes se leen en el entorno MATLAB mediante la función imread(), que toma como argumento el nombre del archivo con la extensión correspondiente. La siguiente sintaxis lee la imagen JPEG en la array de imágenes. 
I=imread('image.jpg');
  • La imagen se pasa a la función de utilidad para su modificación.
  • Mostrando imágenes : Se muestran imágenes originales y modificadas. Las imágenes se muestran en el entorno MATLAB mediante la función imtool(). imtool Archivo Abrir Importar desde Workspace
imtool(k1,[]);
  • La función de utilidad establece las intensidades de píxeles de los 3 canales para la parte central de la flor.
  • La función de utilidad establece las intensidades de píxeles de los 3 canales iguales para el resto del fondo igual a una imagen en escala de grises.

Ahora, hemos tomado un ejemplo para cambiar el color de fondo de una imagen.

Ejemplo:

Matlab

% MATLAB code for Change background to GRAY
% Read image and pass to function.
k=imread("yellow2.jpeg");
imtool(k,[]);
k1=changeBG(k);
imtool(k1,[]);
  
% Utility function.
function f=changeBG(img)
k=rgb2gray(img);
k1(:,:,1)=k;
k1(:,:,2)=k;
k1(:,:,3)=k;
[x,y]=size(k);
for i=1:x
    for j=1:y
        if(img(i,j,1)>=110 && img(i,j,2)>=70 && img(i,j,3)<90)
            k1(i,j,1)=img(i,j,1);
            k1(i,j,2)=img(i,j,2);
            k1(i,j,3)=img(i,j,3);
        end
    end
end
f=k1;
end

Producción:

 

Figura: Imagen en color original

 

Figura: imagen de fondo gris

 

Publicación traducida automáticamente

Artículo escrito por pintusaini 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 *