Улучшите контраст с помощью эквализации гистограммы
преобразовывает полутоновое изображение J
= histeq(I
,n
)I
, возврат в J
полутоновое изображение с n
дискретные уровни серого. Примерно равное количество пикселей сопоставлено с каждым n
уровни в J
, так, чтобы гистограмма J
является приблизительно плоским. Гистограмма J
является более плоским когда n
намного меньше, чем количество дискретных уровней в I
.
преобразовывает палитру, сопоставленную с индексируемым изображением newmap
= histeq(X
,map
,hgram
)X
так, чтобы гистограмма серого компонента индексируемого изображения (X
newmap
) приблизительно совпадает с целевой гистограммой hgram
. histeq
функция возвращает преобразованную палитру в newmap
. length(hgram)
должен совпасть с size(map,1)
.
Этот синтаксис не поддержан на графическом процессоре.
Когда вы предоставляете желаемую гистограмму hgram
, histeq
выбирает полутоновое преобразование T, чтобы минимизировать
где c0 является совокупной гистограммой A
, c1 является совокупной суммой hgram
для всей интенсивности k. Эта минимизация подвергается ограничениям, что T должен быть монотонным, и c1 (T (a)) не может промахнуться по c0 (a) больше чем половиной расстояния между количествами гистограммы в a. histeq
использует преобразование b = T (a), чтобы сопоставить уровни серого в X
(или палитра) к их новым значениям.
Если вы не задаете hgram
, затем histeq
создает плоский hgram
,
hgram = ones(1,n)*prod(size(A))/n;
и затем применяет предыдущий алгоритм.