Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo mejorar el contraste de una imagen indexada utilizando las funciones de mejora del contraste (imadjust, histeq y adapthisteq) en el espacio de color L*a*b

Cómo mejorar el contraste de una imagen indexada utilizando las funciones de mejora del contraste (imadjust, histeq y adapthisteq) en el espacio de color L*a*b

Las imágenes indexadas, a menudo llamadas imágenes pseudocolor, no tienen más de 256 colores. Una imagen en color falso se mejora convirtiéndola en una imagen representada en el espacio RGB, luego convirtiendo la imagen RGB en un espacio de color en el que el color y el brillo son independientes y luego convirtiéndola nuevamente al espacio RGB después de mejorar el brillo.

Escribí un ejemplo para que puedas consultarlo y cambiar la ruta de la imagen a la tuya.

M=imread('C:\Users\Zhang Zhengya\Pictures\71776BEBCF57.jpg');

%imshow(M);

[P ,map]=rgb2ind(M,256);

Q=ind2rgb(P,map); %Convertir a imagen en color verdadero

%Crear desde RGB estándar a L*A* Estructura de conversión de color del espacio B

srgb2lab=makecform('srgb2lab');

% Crea una estructura de conversión de color de L*A*B al espacio RGB estándar

lab2srgb= makecform('lab2srgb');

P_lab=applycform(Q,srgb2lab);%Convertir al espacio de laboratorio

%Convertir el valor de brillo a 0, 1, A cumplir con los requisitos de MATLAB para tipos de datos de imágenes en escala de grises

max_luminosity= max(max(P_lab));% Obtener el valor máximo de píxeles

L=P_lab(:,:,1) / max_luminosity; %Obtener el componente de luminancia

%Usar la función de ajuste de imagen para cambiar el contraste

P_imadjust=P_lab;

P_imadjust(:,:,1) =imadjust (L)*max_luminosity;

P_imadjust=applycform(P_imadjust,lab2srgb);

%Utiliza la función de ecualización de histograma para cambiar el contraste

P_ histeq =P_lab;

P_histeq(:,:,1)=histeq(L)*max_luminosidad;

P_histeq=applycform(P_histeq,lab2srgb);

% Utilice la función de ecualización de histograma adaptativa para cambiar el contraste

P_adapthisteq=P_lab;

P_adapthisteq(:,:,1)=adapthisteq(L)*max_luminosity;

P_adapthisteq =applycform(P_adapthisteq,lab2srgb);

subplot(221);subimage(P);

title('(a) Imagen en escala de grises de la imagen original (imagen de índice)') ;

subplot(222); subimage(P_imadjust);

title('(b) Imagen después de mejorar la función imadjust');

subplot(223) ;subimage(P_histeq);

title('(c) imagen después de la función histeq mejorada');

subplot(224).subimage(P_adapthisteq);

title('(d) Imagen mejorada usando la función adaptthisteq');

subplot(224).