Одним из путей улучшения контраста цветных изображений является преобразование цветовых пространств, которое приводит к изменению значений составляющих цвета. Одним из таких преобразований является замена цветового пространства RGB на L*a*b*.
srgb2lab=makecform('srgb2lab');lab2srgb=makecform('lab2srgb');shadow_lab=applycform(shadow, srgb2lab);% Значение интенсивности из диапазона от 0 до 100, преобразуется в диапазон% [0 1] (преобразования выполняются в формате double) % и далее применяются некоторые методы повышения контрастностиmax_luminosity=100;L=shadow_lab(:,:, 1)/max_luminosity;shadow_imadjust=shadow_lab;shadow_imadjust(:,:, 1)=imadjust(L)*max_luminosity;shadow_imadjust=applycform(shadow_imadjust, lab2srgb);shadow_histeq=shadow_lab;shadow_histeq(:,:, 1)=histeq(L)*max_luminosity;shadow_histeq=applycform(shadow_histeq, lab2srgb);shadow_adapthisteq=shadow_lab;shadow_adapthisteq(:,:, 1)=adapthisteq(L)*max_luminosity;shadow_adapthisteq=applycform(shadow_adapthisteq, lab2srgb);figure, imshow(shadow);title('Original');figure, imshow(shadow_imadjust);title('Imadjust');
|
|
Original
| Imadjust
|
figure, imshow(shadow_histeq);title('Histeq');figure, imshow(shadow_adapthisteq);title('Adapthisteq');
|
|
Histeq
| Adapthisteq
|