Гонсалес Р., Вудс Р. Цифровая обработка изображений (3-е изд., 2012) (1246138), страница 39
Текст из файла (страница 39)
Видно,что промежуточный шаг эквализации исходного изображения может быть опущен; все, что требуется, — это получить функцию преобразования T(r), котораяотображает r в s. Затем два шага могут быть объединены в одно преобразованиеиз r в z.■Как видно из примера, процедура приведения гистограммы в принципеявляется достаточно прозрачной. На практике основная трудность заключается в отыскании содержательного аналитического выражения для T(r) и G –1.К счастью, в случае дискретных величин эта задача значительно упрощается.Издержки остаются теми же, что и в случае эквализации гистограммы, когдадостижимым является только некоторое приближение к желаемой гистограмме. Несмотря на это, однако, некоторые весьма полезные результаты могут бытьполучены даже с достаточно грубыми приближениями.Дискретная формулировка уравнения (3.3-10) задана преобразованием эквализации гистограммы согласно уравнению (3.3-8), которое мы здесь повторяем для удобства:ksk = T (rk ) = (L − 1)∑ pr (rj ) =j =0(L − 1) k∑njMN j =0k = 0,1, 2,..., L − 1 ,(3.3-13)где, как и ранее, MN есть общее число пикселей в изображении, nj — число точекяркости rj, а L — общее число возможных уровней яркости на изображении.
Подобным образом при задании желаемых значений sk дискретная формулировкауравнения (3.3-11) приводит к вычислению функции преобразования вида3.3. Видоизменение гистограммы173qG (zq ) = (L − 1)∑ pz (zi )(3.3-14)G ( z q ) = sk ,(3.3-15)i =0для значений q таких, чтогде pz(zi) — i-тое значение заданной гистограммы. Как и ранее, дискретное значение zi находится выполнением обратного преобразования:zq = G −1 (sk ).(3.3-16)Другими словами, данная операция дает значение z для каждого исходногозначения s; тем самым происходит отображение из s в z.На практике нет необходимости вычислять обратное преобразование длякаждого элемента из G. Поскольку мы имеем дело с уровнями яркостей, являющимися целыми значениями (например от 0 до 255 для 8-битового изображения),с помощью уравнения (3.3-14) несложно вычислить все возможные значения G дляq = 0, 1, 2, … , L – 1.
Эти значения масштабируются и округляются до ближайшегоцелого, занимая весь диапазон [0, L – 1]. Полученные значения запоминаютсяв таблице. Затем, получив конкретное значение sk, мы отыскиваем ближайшеезначение в таблице. Если, например, ближайшим к sk является значение в 64-йячейке таблицы, тогда q = 63 (напомним, что отсчет начинается с 0) и z63 является наилучшим решением уравнения (3.3-15).
Таким образом, данное значение skбудет ассоциировано с z63 (т. е. конкретное значение sk будет отображаться на z63).Поскольку значения z суть яркости, используемые как аргументы для задания гистограммы pz(z), то z0 = 0, z1 = 1, … , zL–1 = L – 1, а z63 будет иметь значение яркости63. Повторяя эту процедуру, мы найдем для каждого из значений sk отображениев zq, являющееся ближайшим к решению уравнения (3.3-15). Полученные отображения и являются решением задачи приведения гистограммы.Вспомнив, что sk являются значениями изображения с эквализованнойгистограммой, можно кратко изложить процедуру приведения гистограммыв следующем виде:1.
Получить гистограмму pr(r) исходного изображения и использовать еедля отыскания преобразования эквализации гистограммы по формуле(3.3-13). Округлить результирующие значения sk до целых в диапазоне[0, L – 1].2. С помощью уравнения (3.3-14) вычислить значения функции преобразования G для q = 0, 1, 2, … , L – 1, где pz(zi) суть значения задаваемойгистограммы. Округлить значения G до целых в диапазоне [0, L – 1]. Запомнить значения G в таблице.3. Используя полученные на шаге 2 значения G, найти для каждого значения sk, k = 0, 1, 2, … , L – 1 соответствующее значение zq такое, чтоG(zq) является ближайшим к sk, и сохранить эти отображения из s в z.Если какому-то значению zq соответствует более одного значения sk(т.
е. отображение не является единственным), взять для определенности наименьшее значение.4. Сформировать изображение с приведенной гистограммой путем (1)эквализации гистограммы исходного изображения и (2) отображения174Глава 3. Яркостные преобразования и пространственная фильтрациякаждого эквализованного значения пикселя sk этого изображения в соответствующее значение zq изображения с приведенной гистограммой,используя отображение, найденное на шаге 3. Как и в непрерывном случае, промежуточный шаг эквализации исходного изображения являетсяумозрительным.
Он может быть опущен объединением двух функцийпреобразования T и G –1, как это показано в примере 3.8Как указывалось ранее, чтобы преобразование G –1 удовлетворяло условиям (а') и (б), G должна быть строго монотонной функцией, а это в соответствиис уравнением (3.3-14) означает, что ни одно из значений pz(zi) задаваемой гистограммы не может быть нулевым (проблема 3.10). Как видно из вышеописанногошага 3, при работе с дискретными значениями тот факт, что это условие можетне удовлетворяться, не создает серьезных препятствий. Следующий пример иллюстрирует этот факт численно.Пример 3.8.
Простой пример приведения гистограммы.■ Рассмотрим опять гипотетическое изображение размерами 64×64 из примера3.5, гистограмма которого повторена на рис. 3.22(а). Желательно преобразоватьэту гистограмму так, чтобы она имела значения, указанные во втором столбцетабл. 3.2. На рис. 3.22(б) показан схематичный вариант такой гистограммы.Первым шагом процедуры является определение масштабированных значений эквализованной гистограммы, которые мы получили в примере 3.5:s 0 = 1 s 2 = 5 s4 = 6 s 6 = 7s1 = 3 s3 = 6 s5 = 7 s7 = 7На следующем шаге, используя уравнение (3.3-14), вычисляются все значенияфункции преобразования G:0G (z 0 ) = 7∑ pz (zi ) = 0, 00 .i =0Аналогично1G (z1 ) = 7∑ pz (zi ) = 7[ p(z 0 ) + p(z1 )] = 0, 00i =0иG(z2) = 0,00 G(z4) = 2,45G(6 6) = 5,95,G(z3) = 1,05 G(z5) = 4,55G(z7) = 7,00.Так же как и в примере 3.5, эти дробные значения преобразуются в целые в диапазоне [0, 7].
В результате будет:G(z4) = 2,45 → 2G(z0) = 0,00 → 0G(z1) = 0,00 → 0G(z5) = 2,45 → 5G(z2) = 0,00 → 0G(z6) = 2,45 → 6G(z3) = 0,00 → 1G(z7) = 2,45 → 7Эти результаты приведены в табл. 3.3, и функция преобразования схематичнопоказана на рис. 3.22(в). Видно, что G не является строго монотонной, так чтоусловие (а') не выполняется. Поэтому, чтобы исправить ситуацию, воспользуемся приемом, указанным на шаге 3 алгоритма.На третьем шаге процедуры ищутся наименьшие значения zq такие, что значение G(zq) является ближайшим к sk. Чтобы создать требуемое отображение из sв z, эта операция выполняется для всех sk.
Например, s 0 = 1 и G(z3) = 1, что яв-3.3. Видоизменение гистограммыа бв гpr (rk)175pz (zq).30.30.25.25.20.20.15.15.10.10.05.05rk0123456zq70G(zq)12345671234567pz (zq)7654321.25.20.15.10.05zq01234567zq0Рис. 3.22. (а) Гистограмма трехбитового изображения. (б) Заданная гистограмма. (в) Функция преобразования, полученная по заданной гистограмме. (г) Результат применения процедуры приведения гистограммы.Сравните (б) и (г)ляется в данном случае прекрасным совпадением, таким образом, имеется соответствие s 0 → z3.
То есть каждый пиксель, имеющий значение 1 на изображении с эквализованной гистограммой, будет отображен в пиксель со значением3 (в соответствующей точке) на изображении с приведенной гистограммой. Повторяя эту процедуру для остальных значений, мы получим все отображения,показанные в табл. 3.4.На заключительном шаге процедуры используются отображения, представленные в табл. 3.4, чтобы преобразовать каждый пиксель изображенияс эквализованной гистограммой в соответственный пиксель формируемогоизображения с приведенной гистограммой. Значения результирующей гистограммы приведены в третьем столбце табл.
3.2, а сама гистограмма показанана рис. 3.22(г). Значения pz(zk) были получены с использованием той же процедуры, что и в примере 3.5. Например, как видно из табл. 3.4, s = 1 отображаетсяв z = 3, но на изображении с эквализованной гистограммой 790 пикселей имеютзначение 1. Таким образом, pz(z3) = 790/4096 = 0,19.Хотя окончательный результат, представленный на рис. 3.22(г), и не совпадает абсолютно с заданной гистограммой, общая тенденция к сдвигу яркостейв сторону верхнего конца диапазона была достигнута. Как уже отмечалось ранее, формирование изображения с эквализованной гистограммой в качествепромежуточного шага полезно для объяснения процедуры, но не является необходимым. Вместо этого можно было бы перечислить отображения из значений rв s и из s в z в виде трехстолбцовой таблицы.
Затем можно было бы использоватьэти отображения для прямого преобразования исходных значений пикселей■в значения пикселей изображения с приведенной гистограммой.176Глава 3. Яркостные преобразования и пространственная фильтрацияТаблица 3.2. Заданная и реальная гистограммы (значения в третьем столбце получены в процессе вычислений в примере 3.8).ЗаданнаяРеальнаяzqnkpz(zk)r0 = 00,000,00r1 = 10,000,00r2 = 20,000,00r3 = 30,150,19r4 = 40,200,25r5 = 50,300,21r6 = 60,200,24r7 = 70,150,11Таблица 3.3. Все возможные значения функции преобразования G, масштабированные, округленные и упорядоченные по zzqG(zq)r0 = 00r1 = 10r2 = 20r3 = 31r4 = 42r5 = 55r6 = 66r7 = 77Таблица 3.4.