es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo utilizar la transformación T de histeq en Matlab?

La documentación de histeq en Matlab dice:

[___,T] = histeq(___) también devuelve la transformación T que mapea el componente gris de la imagen en escala de grises o mapa de colores de entrada al componente gris de la imagen en escala de grises o mapa de colores de salida.

¿Cómo aplico esta transformación T a otra imagen (no la imagen que ingresé en histeq)?

La entrada a histeq fue una imagen en escala de grises, la salida T es un vector de tipo double de tamaño 1×256.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puedes aplicar la transformación T obtenida de histeq a otra imagen utilizando la función imadjust en Matlab. Primero, lee la imagen a la que deseas aplicar la transformación y conviértela a escala de grises si es necesario. Luego, utiliza imadjust con T como segundo argumento de entrada para ajustar los valores de intensidad de la imagen basándote en la transformación. La imagen resultante tendrá el mismo contraste que la imagen que se pasó a histeq.

    Aquí tienes un ejemplo:

    % Lee una imagen en escala de grises
    img = imread('mi_imagen.jpg');
    img_gray = rgb2gray(img); % Convierte a escala de grises si es necesario
    
    % Aplica la ecualización del histograma para obtener T
    [img_eq, T] = histeq(img_gray);
    
    % Lee otra imagen en escala de grises
    img2 = imread('mi_otra_imagen.jpg');
    img_gray2 = rgb2gray(img2); % Convierte a escala de grises si es necesario
    
    % Aplica la transformación
    img2_adjusted = imadjust(img_gray2, [], [], T);
    
    % Muestra los resultados
    subplot(1,3,1); imshow(img_gray); title('Imagen original');
    subplot(1,3,2); imshow(img_eq); title('Imagen equalizada');
    subplot(1,3,3); imshow(img2_adjusted); title('Imagen ajustada');
    

Comments are closed.