Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006) (1246139), страница 19
Текст из файла (страница 19)
График на рис. 3.7, г) получен с помощью команд » Ь = 1шЬ1ае(Х); » р1ос(Ь); / Ове сЬе с[е1ац1с иа1цев. » ах1в ( [О 255 0 15000) ); » вес(йса, 'хстсЬ', 0:50:255) » вее(бса, 'УС1с1с', 0:2000:15000) Функция р1ос часто используется для отображения функций преобразования (см. пример 3.5). с) В рассмотренных нами примерах разметка осей координат на графиках производилась вручную. Однако это можно делать автоматически с помощью функций у11ш и х11ш. Для наших целей достаточно использовать их синтаксис вида у11ш('ацсо') х11ш('ацсо').
Другой возможный вариант синтаксиса этих функций допускает ручное задание опций у11ш([уш1п ушах)) х11ш( [хш[п хнах) ). (См, также справочные страницы). Если ограничения установлены только для одной оси, то вторая ось оформляется по умолчанию. Эти функции будут использоваться в следующих параграфах. Если в командной строке набрать команду Ьо16 оп, то текущий график будет сохранен на экране, причем результаты выполнения последующих графических команд будут отображаться в этом же окне. См.
пример 10.5 для иллюстрации команды Ьо16 оп. едополнительные опции функции ртот смс на спраиочнай странице атой функции. вл о~ с,, „, Ф Ф~~ 9~~5) 3.3.2. Эквализация гистограммы Предположим на некоторое время, что уровни яркости являются непрерывными величинами, распределенными в диапазоне (О, 1). Пусть р„(г) обозначает функцию плотности распределения вероятности (Р))Г, ргоЬаЬ111гу с1спэ11у Гппсс)оп) уровней яркости данного изображения, где нижний индекс используется для различения Р1)Г входного и выходного изображений. Рассмотрим следующее преобразование входных уровней для получения выходных (обработанных) уровней яркости э э = Т(г) = р,(ю) Ню, о где и — переменная, по которой ведется интегрирование.
Можно показать (см. 1Сопза1ев, Ъ'оск(э, 2002)), что функция распределения плотности выходных уровней является равномерной, т.е. 1 приО<э<1, Рв(э) = 1' 1 0 иначе. Другими словами, предыдущее преобразование порождает изображение, уровни яркости которого являются равновероятными и покрывают весь интервал )О, Ц. Результат этого процесса эквалиэации изображения состоит в увеличении динамического диапазона уровней яркости, что обычно означает болыпую контрастность выходного изображения.
Заметим, что функция преобразования является не чем иным, как функцией кумулятивного (накопленного) распределения (С))Е, сшпп1ас)не п)э1г)Ьпг1оп Еппсг)оп). Имея дело с дискретными величинами, нам приходится работать с гистограммами, поэтому в этом случае описанная выше техника называется гистограммиой эквалиэацией, хотя в общем случае гистограмма обрабатываемого изображения не будет равномерной в силу самой природы дискретных величин. Используя обозначения, введенные в Э 3.3.1, пусть р,(г ), у = 1,..., Ь, обозначает гистограмму уровней яркости некоторого исходного изображения.
Напомним, что величины нормированной гистограммы являются приближениями вероятностей появления каждого уровня яркости на изображении. Для дискретных величин мы делаем суммирование (вместо интегрирования), и преобразование эквализации приобретает следующий вид: ь ь эь = Т(гь) = ) р,.(г ) = ~~~ и з=1 ~=1 при к' = 1,..., Т,, где эь величина яркости выходного (обработанного) изображения, соответствующая значению яркости гь входного изображения. Эквализация гистограмм реализована в пакете1РТ функцией Ывсец, которая имеет синтаксис я = Ывьес)(х, п1ен), (96 г Я.л» в Ф где Х -- это входное изображение, а п1ев — число уровней интенсивности, установленное для выходного изображения. Если п1еу равно 7.
(общему числу воза«поганых уровней входного изображения), то Ьйвхей просто реализует функцию преобразования Ттть). Если число п1еу меныпе, чем Ь, то Ь1вхеа стремится перераспределить уровни так, чтобы они приближали плоскую гистограмму. В отличие от 1шЬ1вх, значением п1ев в Ь1вхео по умолчанию является 64. Обычно мы будем использовать максимально возможное число уровней (например, 256) для п1ен, поскольку это дает истинную реализацию описанного вьппе метода гистограммной эквализации.
Пример 3.5. Гистаограммн и экеалигацил. На рис. 3.8, а) представлена фотография пыльцы, сделанная на электронном микроскопе. Изображение увеличено примерно в 700 раз. Это изображение является весьма темным и у него имеется очень низкий динамический диапазон, что необходимо улучшить. Гистограмма этого изображения дана на рнс. 3.8, б), на которой выявлена темная природа изображения, т.к.
гистограмма целиком расположена в темном участке спектра. Также очевиден низкий динамический диапазон изображения, поскольку «ширнна» гистограммы весьма мала по сравнению с шириной всего диапазона серых полутонов. Пусть | обозначает это изображение, к которому применим следующую последовательность команд, которая построит все изображения на рис. 3.8 от а) до г); » 1швЬоя(1); » 118ите, 1шЬ1вх(т) » у11ш('аихо') » 8 = Ь1вхес~(1, 266); » 118иге, 1швЬоя(8) » 118иге, 1шЬ1вс(8) » у11ш('аихо') Изображения были сохранены на диске в формате Т)гр с разрешением 300 бр1 с помощью функции 1шигахе, а построенные графики были аналогично экспортированы на диск с помощью функции ргйпх, которая обсуждалась в 3 2.4. Изображение на рис.
3.8, в) является гистограммной эквализацией исходного изображения. Улучшение средней яркости н контрастности вполне очевидно. То же можно заключить, изучив его гистограмму, приведенную на рис. 3.8, г). Повышение контрастности вызвано существенным расширением динамического диапазона на всю шкалу яркости. Повышение общей яркости изображения связано с тем, что средний уровень яркости на гистограмме эквализованного изображения стал выше (ярче), чем на исходном изображении. Несмотря на то, что обсуждаемый метод гистограммной эквализации не приводит к плоской гистограмме, он обладает требуемыми характеристиками, позволяющими повышать динамический диапазон уровней яркости изображений.
Как уже отмечалось, функция преобразования Т(ть) является кумулятивной суммой величин нормированной гистограммы. Можно использовать функцию сишашв« и построить функцию преобразования следующим образом: «Если А — вектор, то в свивав(А) — это сумма всех элементов А.
Если А — многомерный '~,с Обрз6~п:ка г~ с~ нч~юмм о ~я ~~.рнии~ учфиков фднкций 97) ~~с) (Фвв г в.Пес я - ы В Рис. 3.0. Функция преобразования, использованная при отображении уровней яркости входного изображения на рис. 3.8, а) на уровни яркости выходного изображения на рис. 3.8, в). о 08 й й а 06 з 0.4 5 „ 0.2 0 0 0.2 0.4 0.6 0.8 Входные уровни яркости 3.3.3. Гистограммная подгонка (спецификация) Гистограммная эквализация совершается преобразованием, которое является адаптивным в том смысле, что оно зависит от гистограммы исходного изображения.
Однако если функция преобразования уже вычислена, то она не будет меняться, пока не изменится само изображение. Как уже отмечалось в предыдущем параграфе, гистограммная эквализация улучшает изображение путем расвпирения диапазона его уровней до более широкой шкалы яркости. В этом параграфе будет показано, что такая процедура не всегда приводит к удовлетворительному результату. Поэтому в конкретных приложениях полезно уметь задавать форму гистограммы, которую желательно иметь для обработанного изображения.
Метод построения обработанного изображения с заданной гистограммой называется гистограммной подгонкой или гистограммной спецификацией. Этот метод, в принципе, очень прост. Рассмотрим сначала непрерывные величины, распределенные на отрезке ~0, 1), и пусть г и г обозначают, соответственно, уровни яркости входного и выходного изображений. Входные уровни имеют функцию плотности вероятности р„1г), а функция плотности вероятности выходного изображения обозначается рв(г). Как было установлено, преобразование з = Т1г) = / рг(ю) дш о дает яркость уровней з, которые имеют равномерную плотность вероятности р,(з). Зададим переменную г со следующим свойством: Н(г) = / р,(в) дю = а о Следует иметь в виду, что полученные уровни яркости должны иметь предпи- санную плотность р,(г). Из предыдущих двух уравнений следует, что г = Н ~(г) = Н ~[Т(т)].
й.. О~~ « * г г ~ы 9~~9) Функцию ТЯ можно вычислить по исходному изображению (это преобразование гистограммной эквализации, обсуждавшееся ранее), следовательно, предыдущее уравнение можно использовать для нахождения преобразованных уровней г, для которых функция РОГ была задана до тех пор, пока можно найти функцию Н '. При работе с дискретными величинами можно гарантировать, что обратная к Н функция существует, если р,(г) — допустимая гистограмма (т. е. она не отрицательна и имеет единичную область) и среди ее компонент нет нулей (т.е., у р,(г) нет пустых корзин). Как и при гистограммной экввлизации, дискретная реализация этого метода дает лишь приближение заданной гистограммы. В пакете 1РТ метод гистограммной подгонки реализован в функции Ьйвсвй со следующим вариантом синтаксиса; я = 'пйввег((1, 'перес) где 1 — это входное изображение, перес — заданная гистограмма (вектор-строка), а я —.
выходное изображение. гистограмма которого близка к заданной гистограмме перес. Этот вектор должен состоять из целых чисел, соответствующих одинаковым разбиениям (корзинами) диапазона уровней. Гистограмма изображения я, построенного функцией пйвве~(, лучше приближается к парве, когда 1епйсЬ(еврее) существенно меныпе числа уровней яркости исходного изображения Х. Пример 3.6.