Одним из путей улучшения контраста цветных изображений является преобразование цветовых пространств, которое приводит к изменению значений составляющих цвета. Одним из таких преобразований является замена цветового пространства 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 |