¿Cómo convertir una imagen RGB a una imagen HSI en MATLAB?

Cambiar el espacio de color de una imagen es una de las operaciones más comunes realizadas en el procesamiento de imágenes. Se usa tanto que se aplican muchas transformaciones/filtros a un modo de color particular de una imagen. es decir, la umbralización se realiza en escala de grises, el corte de color en HSV, etc. Un espacio de color que ha recibido mucha atención a lo largo del tiempo es HSL (Intensidad de saturación de tono). Esto se debe a que la información que se obtiene sobre la imagen y su contenido solo mediante el análisis de los canales. Por lo tanto, es posible que sea necesario convertir la imagen al espacio de color HSI para realizar alguna operación. Desafortunadamente, MATLAB no tiene una función integrada para convertir al modo de color HSI. Entonces, en este artículo, aprenderá cómo convertir una imagen RGB a una imagen HSI en MATLAB.

Ejemplo 1:

matlab



% MATLAB program for RGB to HSI image conversion.
    img = imread('test.jpg');
% Represent the RGB image in [0 1] range
    I = double(img) / 255;
    R = I(:,:,1);
    G = I(:,:,2);
    B =    I(:,:,3);
% Converting the image to HSV to
% obtain the Hue and Saturation Channels
    HSV = rgb2hsv(img);
    H = HSV(:,:,1);
    S = HSV(:,:,2);
% Intensity
    I = sum(I, 3)./3;
% Creating the HSL Image
  HSI = zeros(size(img));
  HSI(:,:,1) = H;
  HSI(:,:,2) = S;
  HSI(:,:,3) = I;
  figure,imshow(HSI); title('HSI Image');

Producción:

Estaríamos usando la siguiente imagen como ilustración:

Explicación:

Imagen RGB de nombre prueba.jpg importado. Luego los valores de cada canal se dividen por 255, dándonos valores binarios almacenados en la variable I. Cada canal de la imagen RGB se obtiene y almacena en distintas variables. Luego, la imagen se convierte al espacio de color HSV utilizando rgb2hsv función. Esto permitirá el uso de los canales de tono y saturación obtenidos de este cuadro de diálogo (facilitaría el proceso de obtención de los canales de tono y saturación). Los canales de tono y saturación también se almacenan en variables separadas. La intensidad de la imagen se obtiene entonces mediante la fórmula:

Intensidad = (R + G + B)/3

Luego se crea una matriz nula del mismo tamaño que la imagen original y luego se rellena con los canales de tono, saturación e intensidad. Finalmente, se muestra la imagen HSI.

Mis notas personales
flecha_caer_arriba

Deja un comentario

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