Алтенрион пишет:просто как с гистограммами работать в php я не в курсе
так же как и на всех остальных языках в мире,
объявляем массив целых положительных чисел длинной 256 элеметнов пробегаемся по каждому пикселю изображения получаем его яркость, обычно это значение в пределах 0-255
и соответствующую ячейку массива инкрементируем
в итоге мы получаем заполненный массив, что и есть гистограмма.
теперь нужно ее преобразовать, выкинуть те участки где есть "пустышки" (ячейки с нулевым количеством или очень маленькие значения) а то что останется растянуть так чтоб в итоге у нас получалась максимально заполненая кривая без пробелов, см. первый и второй рис.
ну а дальше делаем обратное преобразование изображение
пробегаемся по всем пикселям изображения, получаем его яркость, смотрим куда оно попадало раньше и куда должно попасть теперь и изменяем эту ярскость тоесть записываем иное значение(+ преобразуем обратно в RGB)
собсно и все.
как видите как таковой пыхи тут и нет, а точнее пофигу на чем делать
алгоритм и наглядные графики выложил, вам осталось найти формулы преобразования из RGB в LAB и обратно, а для всего остального осталось немного пораскинуть моцком. удачи.