МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ Кафедра «Информационные системы и технологии» В. В. СТАРОВОЙТОВ Ю. И. ГОЛУБ ПОЛУЧЕНИЕ И ОБРАБОТКА ИЗОБРАЖЕНИЙ НА ЭВМ Учебно-методическое пособие Минск БНТУ 2018 1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ Кафедра «Информационные системы и технологии» В. В. СТАРОВОЙТОВ Ю. И. ГОЛУБ ПОЛУЧЕНИЕ И ОБРАБОТКА ИЗОБРАЖЕНИЙ НА ЭВМ Учебно-методическое пособие Рекомендовано учебно-методическим объединением по образованию в области автоматизации технологических процессов, производств и управления Минск БНТУ 2018 2 УДК 004.932(075.8) ББК 32.97я7 С77 Р е ц е н з е н т ы: канд. техн. наук, доцент кафедры систем автоматизированного проектирования И.Л. Ковалева; д-р техн. наук, профессор, заведующий кафедрой компьютерных технологий и систем БГУ А.М. Недзьведь Старовойтов, В. В. Получение и обработка изображений на ЭВМ : учебно-методи- ческое пособие / В.В. Старовойтов, Ю.И. Голуб. – Минск : БНТУ, 2018. – 204 с. ISBN 978-985-550-770-4. Цель данной книги – систематизация основных понятий и способов формирова- ния цифровых изображений, а также основ их цифровой обработки. В пособии крат- ко описываются некоторые понятия, которые пока не вошли ни в один учебник (например, получение гиперспектральных изображений); приведены примеры реше- ния прикладных задач, в основе которых лежит последовательное применение опи- санных методов. Книга написана на базе проводимых авторами лекционных и практических заня- тий по обработке цифровых изображений. Ориентирована на студентов, магистран- тов и аспирантов, обучающихся информатике. УДК 004.932(075.8) ББК 32.97я7 ISBN 978-985-550-770-4 © Старовойтов В. В., Голуб Ю. И., 2018 © Белорусский национальный технический университет, 2018 С77 3 ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ............................................................................. 8 Раздел I. ПОЛУЧЕНИЕ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ ....... 9 Глава 1. ЧТО ТАКОЕ ИЗОБРАЖЕНИЕ .................................... 9 1.1. Понятие изображения ........................................................... 9 1.2. Изображение как сигнал ....................................................... 9 1.3. Зрительная система человека ............................................. 10 1.4. Описание изображений ....................................................... 15 1.4.1. Трехкомпонентная теория цвета ............................. 15 1.4.2. Оппонентная теория цвета ....................................... 19 Глава 2. ФОРМИРОВАНИЕ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ ................................................................................ 20 2.1. Типы цифровых изображений ............................................ 20 2.2. Преобразование непрерывного изображения в цифровое ............................................................................................. 21 2.2.1. Дискретизация изображений ................................... 21 2.2.2. Квантование изображений ....................................... 23 2.2.3. Система кодирования цифрового изображения .... 27 Глава 3. СЖАТИЕ ИЗОБРАЖЕНИЙ ........................................ 28 3.1. Алгоритмы сжатия без потерь ........................................... 29 3.2. Алгоритмы сжатия с потерями .......................................... 29 Глава 4. ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ ...................................................... 36 Глава 5. УСТРОЙСТВА РЕГИСТРАЦИИ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ ...................................................... 40 5.1. Сканер ................................................................................... 40 5.2. Цифровой фотоаппарат ....................................................... 40 5.3. Получение изображений с помощью ультразвука ........... 46 5.4. Регистрация рентгеновского изображения ....................... 48 5.5. Томографические изображения ......................................... 49 5.5.1. Магнитно-резонансная томография ........................ 49 5.5.2. Компьютерная томография ...................................... 51 5.5.3. Отличия изображения компьютерной томографии от магнитно-резонансной томографии .......................... 52 5.6. Формирование изображений дистанционного зондирования Земли ............................................................................. 53 4 5.6.1. Формирование мультиспектральных изображений .......................................................................................... 54 5.6.2. Формирование гиперспектральных изображений .......................................................................................... 55 Глава 6. ВИДЕО И ФОРМАТЫ ВИДЕО .................................. 57 Выводы по разделу I ....................................................................... 59 Раздел II. ОБРАБОТКА ЦИФРОВЫХ ИЗОБРАЖЕНИЙ ..... 60 Глава 7. КЛАССИФИКАЦИЯ МЕТОДОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ............................ 60 Глава 8. ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЙ ................................................................................ 64 8.1. Аффинные преобразования ................................................ 65 8.1.1. Сдвиг изображения ................................................... 66 8.1.2. Отражение изображения относительно оси ........... 67 8.1.3. Масштабирование изображения .............................. 67 8.1.4. Скос изображения ..................................................... 68 8.1.5. Поворот изображения ............................................... 68 8.2. Проективные преобразования ............................................ 70 8.3. Уточнение координат и яркости пикселей после преобразования .......................................................................... 73 8.4. Геометрическая коррекция изображений ......................... 74 8.4.1. Построение мозаики из изображений ..................... 74 8.4.2. Коррекция проектированных искажений ............... 79 8.5. Нелинейная геометрическая коррекция ............................ 80 8.5.1. Общий подход к вычислению параметров преобразования ..................................................................................... 80 8.5.2. Коррекция дисторсии ............................................... 83 Глава 9. ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЙ ТОЧЕЧНОГО ТИПА ......................................................................... 87 9.1. Логические операции над изображениями ....................... 87 9.2. Линейные преобразования яркости полутоновых изображений .................................................................. 88 9.2.1. Препарирование изображений ................................ 88 9.2.2. Бинаризация изображений ....................................... 90 9.2.3. Линейное растяжение гистограммы изображений .......................................................................................... 92 9.3. Арифметические операции над изображениями .............. 94 5 9.4. Нелинейная коррекция яркости изображений .................. 96 9.4.1. Гамма-коррекция ...................................................... 96 9.4.2. Логарифмическое преобразование яркости ........... 97 9.4.3. Соляризация изображений ....................................... 97 9.4.4. Приведение среднего к заданному значению ........ 98 9.4.5. Табличный метод изменения яркости .................. 100 9.4.6. Интерактивное изменение функции яркости изображения .......................................................................... 101 9.5. Преобразования яркости на базе гистограммы изображения ................................................................. 103 9.6. Локально-адаптивная обработка изображений .............. 107 9.6.1. Адаптивное повышение контраста ....................... 108 9.6.2. Адаптивное преобразование гистограммы .......... 110 Глава 10. ПРЕОБРАЗОВАНИЯ ЛОКАЛЬНОГО ТИПА ..... 112 10.1. Типы шумов ..................................................................... 112 10.1.1. Импульсный шум ................................................. 112 10.1.2. Аддитивный шум .................................................. 113 10.1.3. Мультипликативный шум .................................... 115 10.1.4. Шум квантования ................................................. 115 10.1.5. Спекл-шум ............................................................. 115 10.2. Фильтрация изображений ............................................... 115 10.3. Низкочастотные фильтры ............................................... 119 10.3.1. Арифметический усредняющий фильтр ............. 119 10.3.2. Геометрический усредняющий фильтр .............. 120 10.3.3. Гармонический усредняющий фильтр ............... 121 10.3.4. Контргармонический усредняющий фильтр ...... 121 10.3.5. Фильтр Гаусса ....................................................... 122 10.4. Высокочастотные фильтры ............................................ 123 10.4.1. Фильтр Робертса ................................................... 124 10.4.2. Фильтр Превитта .................................................. 125 10.4.3. Фильтр Собела ...................................................... 125 10.4.4. Фильтр Лапласа .................................................... 126 10.4.5. Выделение краев методом Кэнни ........................ 127 10.5. Нелинейная фильтрация ................................................. 129 10.5.1. Медианная фильтрация ........................................ 130 10.5.2. Адаптивная медианная фильтрация .................... 133 10.5.3. Ранговая фильтрация ............................................ 135 6 10.6. Внесение эффектов в изображение ................................ 135 10.6.1. Повышение резкости изображения ..................... 135 10.6.2. Создание эффекта тиснения ................................ 136 10.6.3. Создание эффекта акварелизации ....................... 137 10.7. «Продвинутые» алгоритмы ............................................ 137 10.8. Сравнение фильтров ....................................................... 139 Глава 11. ОПЕРАЦИИ МАТЕМАТИЧЕСКОЙ МОРФОЛОГИИ ............................................................................... 140 11.1. Математическая морфология бинарных изображений ........................................................................................ 141 11.1.1. Эрозия .................................................................... 141 11.1.2. Дилатация .............................................................. 143 11.1.3. Свойства дилатации и эрозии .............................. 144 11.1.4. Применение эрозии и дилатации ........................ 147 11.1.5. Отмыкание и замыкание ...................................... 149 11.1.6. Применение операций отмыкания и замыкания ......................................................................................... 150 11.1.7. Операция утоньшения .......................................... 150 11.2. Математическая морфология полутоновых изображений ................................................................ 153 Глава 12. МЕТОДЫ ОБРАБОТКИ ЦВЕТНЫХ ИЗОБРАЖЕНИЙ .............................................................................. 155 12.1. Изменение цветового баланса ........................................ 155 12.2. Идеальный отражатель ................................................... 156 12.3. Преобразование «Серый мир» ....................................... 157 12.4. Линейное растяжение контраста цветного изображения ........................................................................ 158 12.5. Автоматическое вычисление порога бинаризации цветного изображения ................................................. 159 12.6. Повышение четкости цветного портрета ...................... 162 Глава 13. СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЙ ...................... 165 13.1. Сегментация изображений по яркости на основе пороговой обработки ........................................................ 166 13.1.1. Вычисление порогов по гистограмме ................. 166 13.1.2. Алгоритм сегментации методом K-средних ...... 168 13.1.3. Сегментация по принципу Вебера ...................... 168 13.1.4. Алгоритм сегментации Вежневца ....................... 170 13.1.5. Сегментация по цвету кожи ................................. 171 7 13.2. Статистический подход к текстурной сегментации ..... 173 13.3. Сегментация методом морфологического водораздела ......................................................................................... 177 Выводы по разделу II .................................................................... 178 Раздел III. ПРИМЕРЫ ПРИМЕНЕНИЯ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ................................................... 179 Глава 14. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ .................... 179 14.1. Повышение контраста рентгеновских изображений ........................................................................................ 179 14.2. Морфологическая фильтрация бинарных изображений ........................................................................................ 182 14.3. Коррекция фона при неравномерном освещении сцены при анализе изображений ....................................................... 182 14.4. Повышение разрешения мультиспектрального изображения ........................................................................................ 184 14.5. Детекция дорожных знаков ............................................ 187 14.6. Автоматическое определение нефтяных пятен ............ 189 14.7. Контроль отверстий в балках ......................................... 190 14.8. Улучшение изображений в системах видеонаблюдения ............................................................................... 192 14.8.1. Усиление контрастности ...................................... 192 14.8.2. Коррекция динамического диапазона яркости .............................................................................. 193 Глава 15. ПРОГРАММНЫЕ СРЕДСТВА ОБРАБОТКИ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ .................................................... 195 15.1. Писать код или взять из готовой библиотеки? ............. 195 15.2. Система МATLAB ........................................................... 198 15.3. Открытая библиотека OpenCv ....................................... 201 Выводы по разделу III ................................................................... 202 ЗАКЛЮЧЕНИЕ ........................................................................... 203 БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................... 204 8 ПРЕДИСЛОВИЕ Что такое изображение? Изображение – это то, что мы видим, т. е. то, что может «зарегистрировать» зрительная система человека: например, окружающий нас мир, рисунок, чертеж, текст, телевизи- онное изображение, кривая на экране осциллографа и многое другое. Таким образом, изображение – это отражение естественных (су- ществующих в природе) сигналов, т. е. волн различной длины, ко- торые могут быть зарегистрированы системой человеческого зрения (СЧЗ) или созданными человеком приборами. Разница между пер- выми и вторыми в том, что глаз человека воспринимает волны в достаточно узком участке электромагнитного спектра, который называется видимым. Все видимое глазом, а также регистрируемые приборами сигналы изначально представляют собой непрерывные сигналы. Они образуют так называемые аналоговые изображения, которые можно описать непрерывными функциями, а современные компьютеры обрабатывают информацию в цифровом виде. Процесс регистрации отраженного непрерывного сигнала и его преобразование в цифровое представление называется получением цифровых изображений. Различные преобразования этих изобра- жений называются обработкой цифровых изображений. Обработ- ка выполняется по определенным алгоритмам, с помощью про- грамм, реализующих эти алгоритмы. Алгоритм – это набор точных инструкций, описывающих поря- док действий исполнителя для достижения результата решения за- дачи за конечное время. Алгоритм, как правило, не ориентирован на язык программирования и операционную систему, т. е. это набор абстрагированных инструкций универсального назначения. Компьютерная программа – это последовательность инструк- ций, закодированных на определенном языке программирования, предназначенная для исполнения устройством управления вычис- лительной машины, т. е. это реализация алгоритма. Программа – это один из компонентов программного обеспечения. 9 Раздел I. ПОЛУЧЕНИЕ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ Глава 1. ЧТО ТАКОЕ ИЗОБРАЖЕНИЕ 1.1. Понятие изображения В философском смысле слово «изображение» означает «отраже- ние» и используется в смысле подобия тех или иных характеристик объектов. Уточним эти понятия. Изображение – это образ, в той или иной степени подобный (но не идентичный) изображаемому объекту. В области изобразительного искусства художественные произ- ведения (рисунок, скульптура и проч.) являются, как правило, субъ- ективным отражением реального мира. Оптическое изображение – это картина, получаемая в результа- те прохождения через оптическую систему световых лучей, отра- женных от объекта, и воспроизводящая его контуры и детали. Зрение человека реализует процесс психофизиологической об- работки изображения объектов окружающего мира, которое осу- ществляется зрительной системой, и позволяет получать представ- ление о величине, форме и цвете предметов, их взаимном располо- жении и расстоянии между ними. Итак, изображение – это то, что может целиком увидеть челове- ческий глаз или регистрирующая аппаратура. При этом следует различать понятия «изображение сцены» и «изображение объекта». Сцена состоит из реальных трехмерных объектов, либо на ней вы- деляются так называемые объекты интереса. 1.2. Изображение как сигнал Так, наш глаз видит некий отраженный сигнал в определенном участке электромагнитного спектра. Спектр (от лат. spectare – смотреть) – совокупность значений или их распределение по какому-либо параметру наблюдаемой ве- личины. Поскольку первыми были получены оптические спектры, то до сих пор наиболее часто термин «спектр» употребляется в ис- торическом смысле – распределение потока излучения или частиц по длинам волн или энергии. 10 Электромагнитные излучения подразделяются на (рис. 1.1) ра- диоволны (radio waves), инфракрасное излучение (infrared), види- мый свет (visible light), ультрафиолетовое излучение (ultraviolet), рентгеновское (x-rays) и жесткое (гамма-излучение, gamma rays) излучение. Эта шкала называется электромагнитным спектром. Рис. 1.1. Электромагнитный спектр Водоем кажется синим потому, что молекулы воды поглощают все лучи видимого спектра, кроме синих. Но это заметно только при глубине более метра, поэтому лужи не выглядят синими. 1.3. Зрительная система человека Зрительная система – оптико-биологическая бинокулярная сис- тема, эволюционно возникшая у животных; создавая изображение, она способна воспринимать электромагнитное излучение видимого участка электромагнитного спектра в виде сенсорного ощущения по- ложения предметов в пространстве, их размеров и цвета. Свойства зрительной системы человека До 80 % информации человек получает в виде изображений, поэто- му важно понимать механизмы зрительного восприятия. Глаз человека 11 обеспечивает адаптивную настройку в соответствии с внешними усло- виями. Рассмотрим некоторые свойства зрительной системы человека. Глаз представляет собой систему линз, формирующую на сет- чатке уменьшенное и перевернутое изображение внешнего мира (рис. 1.2), включает в себя роговицу, хрусталик, стекловидное тело, позади которого лежит сетчатка, воспринимающая свет. Рис. 1.2. Предмет, видимый глазом, отображается на сетчатке уменьшенным и перевернутым Важной характеристикой зрительной системы является чув- ствительность, т. е. способность реагировать на внешние измене- ния. Чувствительность характеризуется верхним и нижним абсо- лютными порогами. Существует несколько видов чувствительнос- ти. Световая чувствительность характеризует свойство глаза ре- агировать на максимально малый световой поток. Однако следует отметить, что вероятность распознавания максимально малого све- тового потока зависит от разных факторов, например угла зрения. Зрительная система по-разному реагирует на излучения, которые равны по мощности, но испускаются из различных диапазонов спектра. Такая чувствительность называется спектральной. Чело- веческий глаз воспринимает волны электромагнитного спектра в диапазоне от 380 до 750 нм. Способность глаза различать минимальные различия яркости смежных областей изображения характеризуется контрастной чувствительностью. Также зрительная система характеризуется различной чувствительностью к цветовому тону, т. е. к излучениям из различных участков спектра. Еще зрительная система характери- зуется чувствительностью к насыщенности цвета. 12 Приведенные выше типы чувствительности зрительной системы не являются постоянными, а зависят от многих факторов, в частности условий освещения. Например, при переходе из темной комнаты в светлую для восстановления светочувствительности глаза нужно не- которое время. Этот процесс называется яркостной адаптацией глаза. Цветоощущение характеризуется тремя основными характери- стиками – светлота, цветовой тон и насыщенность. У животных и человека органами зрения являются глаза. У чело- века и многих других животных существует бинокулярное зрение, обеспечивающее объемное изображение. В глазу человека содержат- ся два типа светочувствительных клеток (рецепторов): высокочувст- вительные палочки и менее чувствительные колбочки (рис. 1.3). Под влиянием света в палочках и колбочках происходит распад зритель- ных пигментов (родопсина и йодопсина). Палочки функционируют при свете слабой интенсивности, в сумерках. Зрительные ощуще- ния, получаемые при этом, бесцветны. Колбочки функционируют днем и при ярком освещении. Их функция определяет ощущение цветности. Рис. 1.3. Строение глаза человека 13 Палочки – это периферические отростки светочувствительных клеток сетчатки глаза, названные так за свою вытянутую цилиндри- ческую форму. В сетчатке глаза человека содержится около 120 миллионов палочек длиной 0,06 мкм и диаметром 0,002 мкм. Эти специализированные клетки преобразуют световые раздраже- ния в нервное возбуждение. Палочки чувствительны к свету благодаря наличию в них спе- цифического пигмента – родопсина. Под действием света происхо- дит ряд очень быстрых превращений и обесцвечивание зрительного пигмента. Чувствительность палочки достаточна, чтобы зареги- стрировать попадание даже двух-трех фотонов. Плотность размещения палочек на различных участках сетчатки глаза неравномерна и может составлять от 20 до 200 тысяч на квад- ратный миллиметр, причем на периферии сетчатки их плотность выше, чем к ее середине, что определяет их участие в ночном и пе- риферийном зрении. В центре сетчатки, в желтом пятне, палочки практически отсутствуют. Палочки обладают интересной особенностью. В связи с тем что все палочки содержат один и тот же светочувствительный пигмент – ро- допсин, их спектральная характеристика зависит от уровня освещения. При слабом освещении максимум поглощения родопсина составляет около 500 нм (спектр сумеречного неба), при этом палочки ответ- ственны за сумеречное зрение, когда цвета предметов неразличимы. Колбочки – другой тип фоторецепторов, названный так за свою коническую форму. Это также специализированные клетки, преобра- зующие световые раздражения в нервное возбуждение. Колбочки чувствительны к свету благодаря наличию в них пигмента йодопсина. В свою очередь, йодопсин состоит из нескольких зрительных пиг- ментов. На сегодняшний день хорошо исследованы два пигмента: хлоролаб (чувствительный к желто-зеленой области спектра) и эритролаб (чувствительный к желто-красной части спектра). В сет- чатке глаза у взрослого человека со 100%-м зрением насчитывается около 6–7 млн колбочек с длиной около 50 мкм, диаметром от 1 до 4 мкм. Колбочки приблизительно в 100 раз менее чувствительны к све- ту, чем палочки, но гораздо лучше воспринимают быстрые движения. По чувствительности к разным длинам волн света (цветам) (табл. 1.1, рис. 1.4) различают три вида колбочек. Колбочки S-типа чувствительны в фиолетово-синей (S от англ. short – коротковолно- 14 вый спектр), M-типа – в зелено-желтой (M от англ. medium – сред- неволновый) и L-типа – в желто-красной (L от англ. long – длинно- волновый) частях спектра. Наличие трех видов колбочек и палочек (чувствительных в изумрудно-зеленой части спектра) дает человеку цветное зрение. Таблица 1.1 Характеристики для различных видов колбочек Тип колбочек Воспринимаемые длины волн, нм Максимум Чувствительности, нм S 380–500 420 M 450–630 534 L 500–750 564 Рис. 1.4. Графики светочувствительности колбочек человеческого глаза S-, M-, L-типов. Пунктиром показана сумеречная, «черно-белая» восприимчивость палочек В ночное время, когда поток фотонов недостаточен для нор- мальной работы колбочек, зрение обеспечивают только палочки, поэтому ночью человек не может различать цвета. 15 В 1970-х г. было показано, что распределение типов колбочек в сетчатке неравномерно: «синие» колбочки находятся ближе к пе- риферии, в то время как «красные» и «зеленые» распределены слу- чайным образом, что было подтверждено более детальными иссле- дованиями в начале XXI в. Соответствие типов колбочек трем основным цветам обеспечивает распознавание тысяч цветов и от- тенков. Кривые спектральной чувствительности трех видов колбочек частично перекрываются (см. рис. 1.4), что способствует явлению метамерии. Очень сильный свет возбуждает все три типа рецепторов и потому воспринимается как излучение слепяще-белого цвета. Равномерное раздражение всех трех элементов, соответствую- щее средневзвешенному дневному свету, также вызывает ощуще- ние белого цвета. Согласно трехкомпонентной теории цвета за цветовое зрение че- ловека и обезьян отвечают гены, кодирующие светочувствительные белки, – опсины трех типов, реагирующие на разные длины волн, что является достаточным для цветового восприятия. У большин- ства млекопитающих таких генов только два, поэтому они имеют черно-белое зрение. В том случае, если у человека два белка, коди- руемых разными генами, оказываются слишком схожи или один из белков не синтезируется, развивается дальтонизм. 1.4. Описание изображений 1.4.1. Трехкомпонентная теория цвета Трехкомпонентную теорию цветового зрения впервые описал в 1756 г. М. В. Ломоносов. Сто лет спустя ее развил немецкий ученый Г. Гельмгольц, но он не упомянул работу Ломоносова «О происхожде- нии света», хотя она была опубликована на немецком языке. Для описания цвета разработано много цветовых моделей. Термин «цветовая модель» означает абстрактную модель описания представ- ления цветов в виде набора трех чисел, называемых цветовыми коор- динатами. Вместе с методом интерпретации этих данных множество оттенков цвета цветовой модели определяет цветовое пространство. Большинство цветов получается смешением нескольких основ- ных цветов. Поэтому для описания цвета вводится понятие цвето- 16 вой модели как способа представления большого количества цветов посредством разложения его на простые составляющие. Возникает вопрос: зачем нужны различные цветовые модели? Одна из причин – излучаемый и поглощаемый цвет описывается по-разному. В 1931 г. после серии экспериментов по оценке восприятия че- ловеком цвета Международная комиссия по освещению разработа- ла стандарт CIE 1931 XYZ. Это цветовое пространство вмещало в себя все воспринимаемые человеком цвета, однако оно было су- щественно нелинейным. В 1976 г. была разработана цветовая модель CIE Lab, которая яв- ляется международным стандартом. В ней значение светлоты отде- лено от значения хроматической составляющей цвета (тон, насы- щенность). При разработке Lab преследовалась цель создания модели цвето- вого пространства, изменение цвета в котором будет максимально линейным с точки зрения человеческого восприятия, т. е. одинако- вое изменение значений координат цвета в разных областях цвето- вого пространства должно производить одинаковое ощущение из- менения цвета. Это позволяет математически корректировать нели- нейность восприятия цвета человеком. Модель Lab однозначно определяет цвет, поэтому она широко применяется при обработке изображений в качестве промежуточно- го цветового пространства, через которое происходит конвертиро- вание данных между другими цветовыми пространствами (напри- мер, из RGB сканера в CMYK печатного процесса). При этом пред- ставление цвета в Lab активно используется в цветокоррекции, можно отдельно воздействовать на яркость, контраст изображения и его цвет. Недостатком модели Lab является использование куби- ческих корней при пересчете. Модель HSV (Hue, Saturation, Value – тон, насыщенность, значе- ние) удобна для создания изображений художниками. В ней коор- динатами цвета являются: Hue – цветовой тон, обычно варьируемый в пределах 0–360°: 0° – красный, 120° – зеленый, 240° – синий (т. е. тон цвет задается в градусах); Saturation – насыщенность, варьируемая в пределах 0–100 или 0–1; Value – яркость, задаваемая в пределах 0–100 или 0–1. 17 Рассмотрим цветовую модель RGB. Если три составляющие име- ют нулевые значения, получим черный цвет, если максимальные зна- чения, – белый. Эта модель хороша для устройств с черным базовым фоном, например монитор (который излучает цвет). RGB – это адди- тивная цветовая модель, предполагающая, что вся палитра цветов складывается из светящихся точек, ориентированная на устройства отображения излучательного типа. Отображение реального цвета в RGB на мониторе зависит от производителя монитора и настроек. Если базовый фон белый, эту модель применять затруднительно: например, бумага поглощает цвет. В этом случае удобнее использо- вать субтрактивную модель, например CMY. «Субтрактивный» означает «вычитаемый», т. е. из белого вычитаются первичные цве- та. Она является дополнительной к RGB и фактически определяет негативные оттенки, т. е. от максимального значения яркости в мо- дели RGB вычитаются собственно оттенки цвета: C = 255 – R; M = 255 – G; Y = 255 – B. Эту модель активно используют в полиграфии при печати на белой бумаге. Теоретически равное количество краски C = M = Y должно давать серый цвет, однако при печати такой цвет дает бурые оттенки и ведет к лишнему расходу краски. Поэтому на практике модель до- полняют черным цветом, и она называется CMYK. Каждое из чисел, определяющее цвет в CMYK, обусловливает процент краски базового цвета, составляющей цветовую комбинацию. Например, для получе- ния цвета хаки смешивают 30 частей голубой краски, 45 частей пур- пурной краски, 80 – желтой и 5 – черной краски. Это можно обозна- чить следующим образом: CMYK = (30, 45, 80, 5) или C30M45Y80K5. Важно отметить, что числовое значение краски в CMYK не опи- сывает оттенок цвета. Цифры – это набор данных, используемых в печатном процессе для формирования изображения. Реальный цвет зависит от многих факторов: от размера пикселя на фотовыводе, растискивания краски, качества бумаги, влажности в цеху, спект- ральных характеристик источника освещения и других. Рассмотрим важное понятие цветового охвата, который дает пред- ставление о том, насколько та или иная цветовая модель хорошо представляет цвета. Цветовым охватом называется диапазон цветов, который может быть воспроизведен или описан каким-либо образом. 18 Разными цветовыми охватами обладают электронно-лучевая трубка монитора или телевизора, цветовые модели, полиграфические краски и глаз человека. На рис. 1.5 показано сравнение цветовых охватов че- ловеческого глаза (модель Lab), монитора (RGB) и печатной машины (CMYK) в системе координат x = X/(X + Y + Z) и y = X/(X + Y + Z) в пространстве XYZ. Рис. 1.5. Цветовой охват разных устройств Разные цветовые модели используют в разных приложениях: XYZ и Lab – для описания восприятия цвета человеческим глазом; аддитивные модели – для получения цвета на мониторе (напри- мер, RGB, sRGB); полиграфические модели – для получения цвета на бумаге при использовании разных красок и полиграфического оборудования (например, CMYK); модели, не связанные с физикой оборудования, ориентирован- ные на передачу данных; математические модели для цветокоррекции, но не связанные с оборудованием (например, HSV). Цветовые модели можно однозначно преобразовать друг в друга. 19 1.4.2. Оппонентная теория цвета Параллельно трехкомпонентной существовала оппонентная теория цвета Эвальда Геринга. Ее развили Дэвид Хьюбел и Торс- тен Визел. За свое открытие они получили Нобелевскую премию 1981 г. Ученые предположили, что в мозг поступает информация не о красном (R), зеленом (G) и синем (B) цветах (как в теории цвета Гельмгольца). Мозг получает информацию о разнице яркости (Imax) и черного (Imin), разнице зеленого и красного цветов (G – R), разнице синего и желтого цветов (B – Y). Например, желтый цвет (Y = R + G) – это сумма красного и зеленого цветов, где R, G и B – яркости цве- товых составляющих, красного R, зеленого G и синего B. Имеем систему коэффициентов: Kч–б = Imax – Imin; Kgr = G – R; Kbrg = B – R – G, где Kч–б, Kgr, Kbrg – коэффициенты для любого типа освещения. Оппонентная теория в целом лучше объясняет тот факт, что люди воспринимают цвет предметов одинаково при разных источниках освещения, в том числе при различном цвете источников света в одной сцене – это свойство называется цветовой адаптацией. Две теории не вполне согласованы друг с другом. Однако боль- шинство ученых предполагают, что на уровне сетчатки действует трехстимульная теория (модель RGB – ее основной представитель), затем информация обрабатывается и в мозг поступают данные, уже согласующиеся с оппонентной теорией. 20 Глава 2. ФОРМИРОВАНИЕ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ 2.1. Типы цифровых изображений По способу формирования изображения делятся на векторные и растровые. Векторным называется изображение, описанное в виде набора графических примитивов, оно рисуется линиями на графи- ческих устройствах вывода. Растровое изображение представляет собой двумерный массив, элементы которого содержат информа- цию о цвете, и ориентировано на растровые устройства отображе- ния. В цифровой обработке используются растровые изображения, поэтому векторные мы не рассматриваем. Растровые изображения можно разделить на четыре типа: би- нарные, полутоновые, палитровые, полноцветные. Их основная ха- рактеристика – глубина цвета. Этот термин означает количество бит, используемых для описания цвета одного пикселя, и в литера- туре обозначается как bpp (от англ. bits per pixel). Элементы бинарного (двухуровневого) изображения описыва- ются одним битом, который принимает значения «0» и «1». Значе- ние «0» соответствует черному цвету, «1» – белому цвету. Они по- лучаются в результате обработки (бинаризации) полутоновых или цветных изображений. Бинарные изображения удобны при передаче изображений документов в факсимильной связи. Полутоновое изображение состоит из пикселей, которые могут принимать значения от 0 до N, где N = 2k. Это один из наиболее распространенных типов изображений. В большинстве случаев ис- пользуется значение k = 8 бит (т. е. один байт) на пиксель. Полноцветное изображение содержит информацию о яркостях цветов (обычно R, G, B), т. е. его можно рассматривать как три по- лутоновых изображения. В палитровых (индексированных) изображениях значение пик- селя, т. е. индекс, фактически является ссылкой на ячейку палитры, которая представляет собой таблицу RGB компонентов для этого индекса. Для описания таких изображений необходимо хранить па- литру (т. е. табл. 256 цветов) и собственно изображение (1 бит на пик- сель). При использовании неравномерных алгоритмов квантования зрительная система человека практически не различает изображения, представленные в полноцветном и индексированном вариантах. 21 Выбор типа изображения зависит от решаемой задачи. В зависи- мости от типа изображения они по-разному представляются в раз- ных форматах. Основные типы цифровых изображений и их харак- теристики представлены в табл. 2.1. Таблица 2.1 Основные типы цифровых изображений Тип изображения Основной диапазон значений яркости Глубина цвета, бит Количество оттенков Бинарное [0, 1] 1 2 Полутоновое [0, 255] 8 4–256 Палитровое (индексиро- ванное) [0, 255] 8 2–256 Полноцветное [0, 255]3 24 16 777 216 2.2. Преобразование непрерывного изображения в цифровое Процесс преобразования аналогового сигнала в цифровую форму состоит из трех этапов: дискретизации, квантования и кодирования. Сигнал, к которому применены операции дискретизации и кванто- вания, называется цифровым. После операции дискретизации, но без квантования получаем дискретный сигнал (его значения меня- ются в непрерывном диапазоне). 2.2.1. Дискретизация изображений Дискретизация – это преобразование непрерывной функции в дискретную, т. е. значения функции определены в отдельных (дискретных) точках. При этом сами значения могут изменяться в непрерывной шкале, т. е. теоретически множество допустимых значений бесконечно. Замену непрерывного изображения дискретным можно выпол- нить различными способами. Рассмотрим основные особенности прямоугольной дискретизации. 22 Пусть 1 2( , )x t t – непрерывное изображение, а 1 2( , )x i i – соот- ветствующее ему дискретное, полученное из непрерывного путем прямоугольной дискретизации. Это означает, что связь между ними определяется выражением 1 2 1 1 2 2( , ) ( , ),x i i x i t i t   (2.1) где 1 2,t t  – соответственно вертикальный и горизонтальный шаги или интервалы дискретизации. Основной вопрос при замене непрерывного изображения дис- кретным состоит в определении условий, при которых такая замена минимизирует потерю информации, содержащуюся в непрерывном изображении. Потери отсутствуют, если, располагая дискретным сигналом, можно восстановить непрерывный сигнал. С математиче- ской точки зрения вопрос, таким образом, заключается в восстанов- лении непрерывного сигнала в двумерных промежутках между уз- лами, в которых его значения известны или, иными словами, в осу- ществлении двумерной интерполяции. а б Рис. 2.1. Влияние интервала дискретизации на представление изображения отпечатка пальца На рис. 2.1 изображен один и тот же отпечаток при разных ин- тервалах дискретизации. Правое изображение на рис. 2.1, б сильно расфокусировано и неверно передает структуру отпечатка, оно не пригодно для распознавания. 23 2.2.2. Квантование изображений При цифровой обработке изображений непрерывный динамиче- ский диапазон значений яркости делится на ряд дискретных уровней и значения яркости, попавшие в один диапазон, округляются до од- ного значения, например середины этого диапазона. Такая процедура называется квантованием по яркости. Она преобразует непрерыв- ную переменную х в дискретную переменную кв ,x принимающую конечное множество значений 1{ ,..., }.Lr r Эти значения называются уровнями квантования. В общем случае преобразование выражается ступенчатой функцией (рис. 2.2). Если яркость х отсчета изображе- ния 1,j jd x d   то исходный отсчет заменяется на уровень кванто- вания ,jr где , 1, 1jd j L  – пороги квантования. При этом динами- ческий диапазон значений яркости ограничен и равен 1 1[ , ].Ld d  Для простоты кодирования цифрового изображения вместо значения jr используется целочисленный номер диапазона j, начиная с нуля. 1r Lr 1d Ld Рис. 2.2. Функция, описывающая равномерное квантование Не следует путать процедуры квантования и дискретизации (и со- ответственно шаг квантования с частотой дискретизации). При дис- кретизации выполняется пространственное разбиение области изобра- жения, при квантовании – дискретизации подвергается множество значений яркости. Квантование можно выполнить разными способами. 24 Квантование методом равномерного разбиения цветового пространства Рассмотрим самый простой вариант квантования – метод равно- мерного разбиения цветового пространства. Пусть ( , )I x y – яркость пикселя исходного изображения c коор- динатами ( , );x y ( , )Inew x y – яркость пикселя нового изображения; N1 – количество оттенков в исходном изображении (обычно N1 = 256); N2 – количество элементов в новой палитре (например N2 = 16). Алгоритм равномерного разбиения цветового пространства Шаг 1. В цикле для каждого пикселя ( , )x y вычислить новое зна- чение яркости. Шаг 2. ( , ) ( , ) / ( 1 / 2).Inew x y I x y N N Шаг 3. Результат округлить до целого. Для цветного изображения повторить алгоритм для каждого из трех цветов RGB. Разобьем цветовое пространство на равные части вдоль каждой оси. Например, в направлении синей или зеленой оси разобьем куб на восемь частей, а в направлении красной – на четы- ре. В итоге получается 256 оттенков цвета, равномерно распреде- ленных в RGB-пространстве. Каждый оттенок можно закодировать целым индексом от 0 до 255. Описав в таблице, какой цвет оно представляет, получают индексированное цветное изображение. Достоинства этого алгоритма – простота и высокая скорость. Недо- статок – малоконтрастные изображения будут иметь малое количество оттенков, в местах плавных переходов возникают ложные контуры. Квантование методом медианного сечения Рассмотрим алгоритм, который сформирует палитру так, чтобы каждое значение из нее отвечало равному количеству значений ат- рибутов пикселей в исходном изображении. Это достигается путем последовательного разбиения цветового пространства на паралле- лепипеды со сторонами, параллельными осям цветового простран- ства RGB. Это неравномерное квантование. 25 Шаг 1. Задать N – размер палитры. Найти минимальный паралле- лепипед, включающий все значения цвета пикселей исходного изоб- ражения. Далее выполняется разбиение параллелепипеда на части. Шаг 2. Выполнить так называемое адаптивное разбиение, состо- ящее из следующих шагов: выбор самой длинной стороны параллелепипеда; сортировка значений вдоль выбранного направления; нахождение медианного значения среди множества значений вдоль выбранного направления; разделение параллелепипеда по найденной медиане на две части. Таким образом, получают два параллелепипеда, которые содер- жат равное количество значений. Предыдущую процедуру повторяют для каждого из параллеле- пипедов до тех пор, пока не сформируется N параллелепипедов, где N равно заданному размеру палитры. Если же на каком-то этапе потребуется разделить параллелепи- пед, содержащий лишь одно значение, то получившийся пустой па- раллелепипед следует присоединить к самому большому паралле- лепипеду для последующего разделения. Шаг 3. Заполнить палитру либо центральными точками паралле- лепипедов, либо средними арифметическими значений, попавших в данные параллелепипеды. Шаг 4. Для каждого пикселя его RGB-атрибуты заменить пара- метрами параллелепипедов, вычисленными на шаге 3. Результатом работы этого алгоритма является хорошее кванто- вание, при этом скорость работы данного алгоритма высока. Квантование изображений методами кластеризации Квантование можно выполнять методами, производящими клас- теризацию цветовых значений пикселей изображения для построе- ния палитры. В общем случае кластеризация – это процесс разби- ения объектов на группы (кластеры) на основе общих свойств объ- ектов. Применительно к квантованию изображений это означает разбиение всех оттенков изображения на кластеры так, что внутри каждого кластера находятся лишь близкие значения. Это также спо- соб неравномерного квантования. 26 Один из самых популярных алгоритмов для кластеризации – это кластеризация методом k-средних. Алгоритм строит k кластеров, расположенных на максимально больших расстояниях друг от дру- га. Выбор числа k может базироваться на результатах предшеству- ющих исследований или интуиции. Общая идея алгоритма: заданное фиксированное число k класте- ров наблюдения сопоставляются кластерам так, что средние в клас- терах максимально отличаются друг от друга. Алгоритм кластеризации методом k-средних Исходные данные: цветное изображение, число кластеров K, максимальное число итераций N. Шаг 1. Определить начальные центры кластеров. Выбор коорди- нат центров можно осуществлять разными способами, например случайно, либо выбрать значения оттенков R, G, B первых K пикселей. Для цвета каждого пикселя найти ближайший кластер, вычислив расстояние между ним и центрами кластеров. В результате цвет каждого пикселя отнесен к одному из K кластеров. Шаг 2. Вычислить новые координаты центров всех K кластеров, которыми считаются среднее арифметическое всех значений R, G, B оттенков цвета, входящих в кластер. Цвета всех пикселей изображения перераспределить по K кла- стерам, вычислив расстояния между ними и найденными центрами. Шаг 3. Процесс вычисления центров кластеров и перераспреде- ления цветов повторять до тех пор, пока не будет выполнено одно из условий: 1) центры всех кластеров не меняются, т. е. цвета принадлежат тем же кластерам, что и на предыдущей итерации; 2) число итераций равно максимальному заданному числу ите- раций N. Недостатком данного метода является то, что он способен эф- фективно выделять лишь выпуклые кластеры. Достоинством является высокая скорость работы. Применитель- но к квантованию изображений данный метод показывает очень хорошие результаты. 27 2.2.3. Система кодирования цифрового изображения В цифровой обработке изображений, принято считать, что изоб- ражение представляется матрицей целых чисел (размер матрицы N × M), где значение каждого элемента отвечает определенному уровню квантования его энергетической характеристики или яркос- ти. Это так называемая пиксельная система координат. Понятие пиксель (англ. pixel, pel – сокращение от piсture cell – элемент изображений) имеет два значения: 1) наименьший логический элемент двумерного цифрового изоб- ражения, 2) физический элемент светочувствительной матрицы и элемент матрицы дисплеев, формирующих изображение. Пиксель представляет собой неделимый объект прямоугольной или круглой формы, характеризуемый определенным цветом (в плазменных панелях он может быть восьмиугольным). Таким образом, цифровое изображение можно трактовать как матрицу, элементы которой – пиксели, содержащие целочисленные значения из некоторой палитры. Отметим, что эти значения безраз- мерны, поскольку имеют абстрактный характер. 28 Глава 3. СЖАТИЕ ИЗОБРАЖЕНИЙ Изображения занимают большой объем памяти, и их компактное хранение предполагает сжатие исходных данных. Например, при ди- станционном зондировании Земли с помощью спутников сжатие дан- ных представляет серьезную проблему. По спутниковым каналам пе- редается до 300 мегабит в секунду. Поэтому алгоритмы сжатия прежде всего ориентированы на устранение избыточности двумерных много- спектральных данных таким образом, чтобы иметь возможность в слу- чае необходимости полностью восстановить исходное изображение. Методы сжатия изображений можно разбить на две группы: сжатие без потерь, позволяющее точно восстанавливать исход- ное изображение; сжатие с потерями (или сжатие с регулируемой степенью иска- жений). Алгоритмы сжатия без потерь основаны на исключении стати- стической избыточности. Сжатие без потерь означает, что процесс обратим, т. е. информацию можно восстановить при декодировании в первоначальном виде. К ним относятся: кодирование длин серий (RLE); метод группового кодирования (LZW); метод Хаффмана; арифметическое кодирование и др. Методы сжатия с потерями основаны на том, что в изображении содержится информация, слабо воспринимаемая человеческим гла- зом. Такой вид избыточности называется психофизиологической избыточностью. Ее снижение состоит в уменьшении объема несу- щественной информации, которую человеческий глаз не восприни- мает в силу психофизиологических особенностей. При этом часть информации безвозвратно теряется. Таким образом, восстановить исходные значения яркости или цвета всех пикселей при декодиро- вании невозможно. Например, глаз человека не различает цвет мелких деталей изоб- ражения. Следовательно, можно хранить только яркость деталей, а цветность отбросить и таким образом уменьшить объем информа- ции. Этот метод применяется в телевидении. Разбиение непрерыв- ного видеопотока на кадры – также пример исключения психофи- зиологической избыточности. 29 3.1. Алгоритмы сжатия без потерь Одним из самых простых алгоритмов сжатия без потерь является алгоритм RLE (Run Length Encoding – групповое кодирование). Сжа- тие в RLE происходит за счет того, что в исходном изображении встречаются цепочки одинаковых байт, которые можно экономно ко- дировать. Различные модификации алгоритма RLE реализованы в ути- литах, записывающих изображения в разных форматах (PCX, GIF, TIFF, РМР). Следует отметить, что многие современные форматы под- держивают запись данных (не только изображений) с использованием нескольких алгоритмов сжатия либо без них. Например, формат TIFF 6.0 может сохранять изображения с использованием алгоритмов сжа- тия RLE-PackBits, RLE-CCIT, LZW, Хаффмана с фиксированной таб- лицей кодов, JPEG-Lossless (хотя может сохранять изображение и без архивации). Здесь алгоритм LZW (от фамилий авторов Lempel-Ziv- Welch) является более сложным и универсальным алгоритмом (по от- ношению к RLE), сжимающим изображения за счет поиска, выделения и кодирования одинаковых подцепочек в потоке байт. Алгоритм Хаффмана обеспечивает сжатие с помощью предварительного вычис- ления частоты появления одинаковых байтов в изображении. Говоря о лучших на сегодня алгоритмах сжатия изображений без потерь, следует отметить, что в 1994 г. был принят стандарт ISO/JPEG- Lossless. Он ориентирован на полноцветные 24- или 8-битовые в градациях яркости изображения без палитры. На 8-битовых тестовых изображениях нескольких категорий (космиче- ских, медицинских, фото- и компьютерно-графических, смешан- ных) средний уровень сжатого по JPEG-Lossless изображения со- ставил 3,98 бит/пиксель. 3.2. Алгоритмы сжатия с потерями The Joint Photographic Experts Group (JPEG), подразделение в рамках ISO – Международной организации по стандартизации, разработало международный стандарт JPEG для полноцветных (24-битовых) изображений. Он содержит один из мощных алгорит- мов сжатия. Для него реализованы четыре варианта сжатия: – последовательное сжатие (на базе дискретного косинусного преобразования (ДКП)); 30 – прогрессивный вариант ДКП-сжатия, использующий пирами- дальное представление изображений; – последовательное, основанное на предсказании сжатия без по- терь (JPEG-Losless); – иерархическое сжатие, соответственно с потерями и без потерь. Оперирует алгоритм областями 8 × 8, на которых яркость и цвет меняются сравнительно плавно. Вследствие этого при разложении матрицы такой области в двойной ряд по косинусам значимыми оказываются только первые коэффициенты. Кроме того, система цветового восприятия человека слабо распознает определенные час- тоты (цветовое изменение картинки). Поэтому можно аппроксими- ровать некоторые коэффициенты более грубо без заметной потери качества изображения, используя для этого квантование коэффици- ентов. При таком преобразовании теряется часть информации, но могут достигаться большие коэффициенты сжатия. Основные шаги алгоритма для сжатия 24-битового цветного изображения. Шаг 1. Преобразовать изображение из цветового пространства RGB в пространство YCrCb. В нем Y – яркостная составляющая, a Cr, Сb – компоненты, отвечающие за цвет (хроматический крас- ный и хроматический синий). Человеческий глаз менее чувствите- лен к вариациям цветовой компоненты, чем к яркости, поэтому можно проредить массивы Сr и Сb. Каждому блоку из четырех пик- селей (2 × 2) яркостного канала Y ставятся в соответствие усред- ненные значения Cb и Cr (схема прореживания 4 : 2 : 0). При этом для каждого блока 2 × 2 вместо 12 значений (4 Y, 4 Cb и 4 Cr) ис- пользуется всего 6 (4 Y и по одному усредненному Cb и Cr). Если к качеству восстановленного после сжатия изображения предъяв- ляются повышенные требования, прореживание может выполняться лишь в каком-то одном направлении – по вертикали (схема 4 : 4 : 0) или по горизонтали (4 : 2 : 2) или не выполняться вовсе (4 : 4 : 4). Стандарт допускает и другие варианты прореживания. Перевод из RGB в YCrCb выполняется по формуле. 00,299 0,587 0,114 0,5 0,4187 0,0813 128 . 0,1687 0,3313 0,5 128 Y R U G V B                                   (3.1) 31 Обратное преобразование осуществляется умножением вектора YUV на обратную матрицу по формуле. 01 0 1,402 1 0,34414 0,71414 128 . 1 1,722 0 128 R Y G U B V                                    (3.2) Шаг 2. Разбить исходное изображение на матрицы 8× 8. Сфор- мировать из каждой три рабочие матрицы ДКП – по 8 бит отдельно для каждой компоненты. Шаг 3. Применить ДКП к каждой рабочей матрице. При этом получаем матрицу, в которой коэффициенты в левом верхнем углу соответствуют низкочастотной составляющей изображения, а в пра- вом верхнем – высокочастотной. Шаг 4. Выполнить квантование коэффициентов делением рабо- чей матрицы на матрицу квантования поэлементно. Для каждой компоненты (Y, U и V) в общем случае задать свою матрицу кван- тования (МК)  ,q u  , например, для Y:      , , IntegerRound . ,q Y u Y u q u        (3.3) На этом шаге осуществляется управление степенью сжатия и происходят самые большие потери. Задавая МК с большими ко- эффициентами, получаем больше нулей и, следовательно, большую степень сжатия. В стандарт JPEG включены рекомендованные раз- работчиками МК, построенные опытным путем. Матрицы для большего или меньшего коэффициентов сжатия получают путем умножения исходной матрицы на некоторое (рекомендованное) число gamma. С квантованием связаны и специфические эффекты алгоритма. При больших значениях числа gamma потери в низких частотах мо- гут быть настолько велики, что восстановленное изображение рас- падется на квадраты 8 × 8. Потери в высоких частотах могут про- явиться в так называемом эффекте Гиббса, когда вокруг контуров с резким переходом цвета образуется своеобразный нимб. 32 Шаг 5. Перевести матрицу квантованных коэффициентов 8 × 8 в 64-элементный вектор при помощи «зигзаг»-сканирования, когда берутся элементы с индексами [0, 0], [0, 1], [1, 0], [2, 0], [1, 1], [0, 2], [0, 3], [1, 2]... В результате в начале вектора получить трансформан- ты, соответствующие низким частотам, а в конце – высоким. Шаг 6. Свернуть вектор с помощью алгоритма группового коди- рования (RLE). При этом получаются высокие частоты типа «про- пустить, число», где «пропустить» является счетчиком пропускае- мых нулей, а число – значением, которое необходимо поставить в следующую ячейку. Так, вектор 42 3000–2 0000 1 ... будет свернут в Ds (0, 42) (0, 3) (3, 2) (4, 1). Шаг 7. Свернуть полученные Ds кодированием по алгоритму Хаффмана с фиксированной кодовой таблицей. При сохранении изображения в файле указывается параметр ка- чества, задаваемый в условных единицах, например от 1 до 100 или от 1 до 10. Большее число обычно соответствует лучшему качеству (и большему размеру файла). Однако даже при использовании наивысшего качества (соответствующего матрице квантования, со- стоящей из одних только единиц) восстановленное изображение не будет в точности совпадать с исходным, что связано как с конечной точностью вычисления ДКП, а также с необходимостью округления значений Y, Cb, Cr и коэффициентов ДКП до целых значений. Вариант Lossless JPEG не использует ДКП, что обеспечивает точ- ное совпадение восстановленного и исходного изображений, однако его малая эффективность (коэффициент сжатия редко превышает 2) и отсутствие поддержки со стороны разработчиков программного обеспечения не способствовали популярности Lossless JPEG. Процесс восстановления изображения в этом алгоритме пол- ностью симметричен. Метод позволяет сжимать некоторые изображения в 10–15 раз без визуально малозаметных потерь. Алгоритм JPEG разработан для сжатия фотографий, содержащих сцены с плавными переходами яркости и цвета. Наибольшее рас- пространение JPEG получил в сети Интернет. Он малопригоден для сжатия чертежей и текста, имеющих резкий контраст между сосед- ними пикселями, что приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без по- терь, таких как TIFF, GIF или PNG. 33 JPEG не должен использоваться и в тех случаях, когда недопу- стимы даже минимальные потери, например, при сжатии астроно- мических или медицинских изображений. В таких случаях можно использовать предусмотренный стандартом JPEG режим сжатия Lossless JPEG. Стандарт JPEG предусматривает два основных способа пред- ставления кодируемых данных. Наиболее распространенным, поддерживаемым большинством доступных кодеков, является последовательное представление дан- ных, предполагающее последовательный обход кодируемого изоб- ражения поблочно слева направо, сверху вниз. Над каждым кодиру- емым блоком изображения осуществляются описанные выше опе- рации, а результаты кодирования помещаются в выходной поток в виде единственного «скана», т. е. массива кодированных данных, соответствующего последовательно пройденному («просканиро- ванному») изображению. Второй способ (прогрессивный JPEG) означает, что сжатые дан- ные записываются в выходной поток в виде набора сканов, каждый из которых описывает изображение полностью со все большей сте- пенью детализации. Это достигается либо путем записи в каждый скан не полного набора коэффициентов ДКП, а лишь какой-то их части: сначала – низкочастотных, в следующих сканах – высокоча- стотных, либо путем последовательного, от скана к скану, уточне- ния коэффициентов ДКП. Прогрессивное представление данных позволяет увидеть грубый вариант изображении уже после переда- чи незначительной части JPEG-файла. JPEG 2000 (или jp2) – алгоритм, в котором вместо ДКП (приме- няемого в формате JPEG) используется вейвлет-преобразование, которое основано на представлении сигнала в виде суперпозиции базовых функций – вейвлетов. В результате сжатия этим алгоритмом после восстановления изоб- ражение получается более гладким и четким, а размер сжатого файла по сравнению с JPEG при одинаковом качестве оказывается меньшим. JPEG 2000 полностью свободен от главного недостатка JPEG: благо- даря использованию вейвлетов изображения, при высоких степенях сжатия, не содержат артефактов в виде «решетки» из блоков размером 8 × 8 пикселей. Формат JPEG 2000, как и JPEG, поддерживает так 34 называемое прогрессивное сжатие, позволяющее по мере загрузки ви- деть сначала размытое, а затем все более четкое изображение. Основные преимущества JPEG 2000 по сравнению с JPEG 1. Бо́льшая степень сжатия: на высоких битрейтах, где артефакты незначительны, JPEG 2000 имеет степень сжатия в среднем на 20 % больше, чем JPEG. На низких битрейтах JPEG 2000 также имеет преимущество над основными режимами JPEG. Большая степень сжатия достигается благодаря использованию дискретного вейвлет- преобразования и более сложного энтропийного кодирования. 2. Масштабируемость фрагментов изображений: JPEG 2000 обеспечивает бесшовное сжатие разных компонентов изображения, с каждым компонентом хранится от 1 до 16 бит на семпл. Благодаря разбиению на блоки изображения разных разрешений можно хра- нить в одном кодовом потоке. 3. Произвольный доступ к кодовому потоку, также иногда назы- ваемый доступом к областям интереса: кодовый поток JPEG 2000 обеспечивает несколько механизмов для поддержки произвольного доступа, также поддерживается несколько степеней разбиения на части (области интереса). 4. Гибкий формат файла: форматы файлов JP2 и JPX обеспечи- вают хранение информации о цветовых пространствах, метаданных и информации для согласованного доступа в сетевых приложениях, взаимодействующих с помощью протокола JPEG Part 9 JPIP. Артефакты, возникающие при сжатии по алгоритму JPEG 2000 с высокой степенью компрессии (потерь), качественно мало отли- чаются от артефактов, возникающих при сжатии компрессором JPEG в тех местах, где оригинальное изображение имело плавные цветовые переходы: они становятся еще более плавными (размы- тыми). В тех же местах, где были резкие переходы яркости или цве- та (участки изображения с высокой контрастностью), возникает ха- рактерный артефакт в виде яркого контура, обрамляющего границу перехода, незначительно (на пару пикселей) отступающего от более темного участка перехода. Различия в артефактах: нет сетки в 8 × 8 пикселей; не искажаются цвета мелких деталей, сильно отличающихся по цвету от фона; 35 артефакты, характерные для JPEG 2000, становятся заметными при больших, чем в случае JPEG, степенях сжатия. Алгоритм DjVu (от фр. déjà vu – уже виденное) реализует сжа- тие изображений с потерями. Он разработан специально для сжатия отсканированных документов (книг, журналов, рукописей и т. п.), где обилие формул, схем, рисунков и рукописных символов делает трудоемким их полноценное распознавание. Также данный алго- ритм является эффективным, если необходимо передать все нюансы оформления, например исторических документов, где важное зна- чение имеет содержание, цвет и фактура бумаги; дефекты перга- мента: трещинки, следы от складывания; исправления, кляксы, от- печатки пальцев; следы, оставленные другими предметами, и т. д. Для сжатия цветных изображений в DjVu применяется специаль- ная технология, разделяющая исходное изображение на три слоя: пе- редний план, задний план и черно-белую (однобитовую) маску. Мас- ка сохраняется с разрешением исходного файла; именно она содер- жит изображение текста и прочие четкие детали. Разрешение заднего плана, в котором остаются иллюстрации и текстура страницы, по умолчанию понижается для экономии места. Передний план содер- жит цветовую информацию о маске. Его разрешение обычно пони- жается еще сильнее. Затем задний и передний планы сжимаются с помощью вейвлет-преобразования, а маска – алгоритмом JB2. Особенностью алгоритма JB2 является то, что он ищет на стра- нице повторяющиеся символы и сохраняет их изображение только один раз. В многостраничных документах каждые несколько подряд идущих страниц пользуются общим «словарем» изображений. Для сжатия большинства книг можно обойтись только двумя цветами. В этом случае используется всего один слой, что позволя- ет достичь рекордной степени сжатия. В типичной книге с черно- белыми иллюстрациями, отсканированной с разрешением 600 dpi, средний размер страницы составляет около 15 кб, т. е. приблизи- тельно в 100 раз меньше, чем исходное изображение. В присутствии сложного заднего плана выигрыш в объеме обычно составляет 4–10 раз. Однако при стандартных настройках в DjVu используется сжатие данных с потерями, поэтому для особо важных документов обычно используются форматы сжатия без потерь: PNG, JPEG 2000, TIFF и т. п. В DjVu также можно использовать и сжатие данных без потерь. Так, например, утилита CJB2 предоставляет сжатие без потерь. 36 В основе алгоритма DjVu лежат несколько алгоритмов: алгоритм отделения текста от фона на отсканированном изобра- жении; вейвлетный алгоритм сжатия фона IW44; алгоритм сжатия черно-белых изображений JB2; универсальный алгоритм сжатия ZIP; алгоритм распаковки «по запросу»; алгоритм «маскировки» изображений. Глава 4. ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ Изображения должны эффективно храниться, обрабатываться и экспортироваться. Для этого созданы разные описания для хране- ния изображений в компьютерных файлах – форматы. Существует множество различных форматов графических файлов, т. е. файлов, содержащих изображения. Многие из них стандартизированы. Формат – это спецификация структуры данных, записанных в компьютерном файле. Тип формата файла часто указывается в расширении имени файла, отделенном точкой. Например, оконча- ние имени (расширение) «.tif» используют для обозначения файлов, содержащих изображение, описанное в формате TIFF, а «.doc» – содержащих текстовую информацию, структурированную в соот- ветствии со стандартами программы Microsoft Word. Для многих форматов файлов существуют опубликованные спе- цификации, в которых подробно описаны структура файлов данно- го формата и то, как программы должны кодировать данные для записи в этот формат и как декодировать их при чтении. Для того чтобы правильно работать с файлами, программы должны иметь возможность определять их тип. Исторически в раз- ных операционных системах используются разные подходы для решения этой задачи. На данный момент времени существует большое количество различных форматов графических файлов, предназначенных для разнообразных целей. Наиболее распространенные форматы и их особенности представлены в табл. 4.1. 37 Таблица 4.1 Форматы графических файлов, их описание и область применения Формат Особенности Применение RAW Содержит необработанную инфор- мацию с матрицы фотокамеры, мо- жет быть сжат без потери качества BMP Хранит данные с глубиной цвета до 48 бит и максимальным размером 65 535 × 65 535 пикселей без сжатия Поддерживается ОС Windows GIF Использует 256 оттенков цвета, эф- фективно сжимает однотонные цвет- ные области, сохраняя детали изоб- ражения без потерь. Может содер- жать прозрачные области Текст, логотипы, векторные иллю- страции, анимиро- ванные рисунки TIF Сохраняет фотографии в цветовых пространствах RBG, CMYK, YCbCr, CIE Lab и проч. с глубиной цвета (8, 16, 32 и 64 бит) Полиграфия, geoTIFF использу- ется для хранения мультиспектраль- ных спутниковых изображений JPEG JPEG поддерживает до 16 млн цве- тов и сохраняет их в фотографиях. JPEG сжимает данные с потерями, может внести искажения в рисунок, особенно содержащий текст или тонкие линии Фотографии. Не годится для рисунков, содер- жащих прозрачные участки, мелкие детали или текст PNG-24 Формат PNG-24 также поддержи- вает 16 млн цветов. Подобно форма- ту JPEG, сохраняет яркость и оттен- ки цветов в фотографиях. Подобно GIF и формату PNG-8, сохраняет детали изображения (например, в линейных рисунках, логотипах или иллюстрациях) Фотографии; рисунки, содержа- щие прозрачные участки; рисунки с большим коли- чеством цветов и четкими краями изображений 38 Формат TIFF (Tagged Image File Format) изначально был создан в качестве универсального формата для хранения сканированных изображений с цветовыми каналами. Важным достоинством этого формата является его переносимость на разные платформы. На се- годняшний день TIFF является одним из самых распространенных и надежных, его поддерживают практически все программы, так или иначе связанные с графикой. В этом формате доступен весь диапазон цветовых моделей от монохромной до RGB, CMYK и до- полнительных цветов Pantone. Кроме того, в случае необходимости TIFF позволяет сохранять разнообразную дополнительную инфор- мацию о изображении (контуры, альфа-каналы и т. п.). В формате TIFF может быть использовано сжатие по алгоритму LZW. TIFF является лучшим выбором при хранении изображений с высоким качеством, предназначенных для дальнейшего анализа и обработки, импорте растровой графики в векторные программы, издательские системы и т. п. Не зависящий от аппаратного обеспечения формат GIF (Graphics Interchange Format) был разработан в 1987 г. (модификация GIF87a) фирмой CompuServe для передачи растровых изображений по сетям. В 1989 г. спецификация формата была доработана (модификация GIF89a): в него были добавлены поддержка прозрачности и анима- ции изображений. Формат GIF использует LZW-компрессию и име- ет ограниченную палитру в 256 цветов. Таким образом, его можно назвать форматом хранения изображений без потерь. Однако это утверждение справедливо только в том случае, если исходное изоб- ражение имеет от 2 до 256 цветов (если же количество цветов более 256, то часть из них будет утрачена). GIF используется как один из основных растровых форматов для представления графической информации в интернете. Формат JPEG ориентирован на одноименный алгоритм сжатия для компрессии изображений. Он описывает структуру представле- ния после их сжатия алгоритмом JPEG и предназначен для хране- ния полноцветной графики с высоким коэффициентом сжатия без заметной для глаза человека потери качества. При этом, как было сказано выше, изображение не может быть полностью восстановле- но в исходном виде. При сохранении графики в формате JPEG мож- но управлять параметром качества (quality), измеряемым в относи- 39 тельных единицах – чаще всего от 0 (максимальное сжатие) до 100 (максимальное качество). Формат JPEG следует использовать для хранения полноцветных изображений (в первую очередь фотографических и т. п.), которые не предназначены для дальнейшей обработки. Его не следует при- менять для хранения изображений с небольшим количеством цве- тов (менее 256) и с резким переходами между цветами, так как это может привести к проявлению различимых глазом дефектов. Формат BMP (Windows Device Independent Bitmap, от BitMaP – битовая карта) является собственным растровым форматом опера- ционной системы Windows и способен хранить как изображения в индексированном виде (с палитрой до 256 цветов), так и полно- цветные RGB-изображения (с глубиной цвета 24 бита). Возможно применение алгоритма сжатия RLE. Применение данного формата ограничено тем, что он не поддерживается графическими програм- мами под управлением большинства операционных систем. кроме Windows. Формат используется в основном для хранения картинок при организации пользовательских интерфейсов. Формат DjVu оптимизирован для передачи по сети таким обра- зом, что страницу можно просматривать еще до завершения загруз- ки файла. DjVu-файл может содержать текстовой слой, что позволя- ет осуществлять полнотекстовой поиск по файлу. Кроме того, DjVu- файл может содержать встроенное интерактивное оглавление и ак- тивные области – ссылки, что позволяет реализовать удобную нави- гацию в DjVu-книгах. 40 Глава 5. УСТРОЙСТВА РЕГИСТРАЦИИ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ 5.1. Сканер Сканер – это устройство, которое при помощи аналого-цифрового преобразователя создает цифровое описание изображения внешнего для ЭВМ объекта и передает его посредством системы ввода/вывода в ЭВМ. Процесс получения этой копии называется сканированием. Сканеры бывают ручные, рулонные, планшетные и проекцион- ные. Разновидностью проекционных сканеров являются слайд- сканеры, предназначенные для сканирования фотопленок. В высо- кокачественной полиграфии применяются барабанные сканеры, в которых в качестве светочувствительного элемента используется фотоэлектронный умножитель. Принцип работы однопроходного планшетного сканера состоит в том, что вдоль сканируемого изображения, расположенного на прозрачном неподвижном стекле, движется сканирующая каретка с источником света. Отраженный свет через оптическую систему сканера (состоящую из объектива и зеркал или призмы) попадает на три расположенных параллельно друг другу фоточувствительных полупроводниковых элемента, каждый из которых принимает ин- формацию о компонентах изображения. 5.2. Цифровой фотоаппарат Цифровой фотоаппарат по конструкции схож с обычным фото- аппаратом, но вместо фотопленки, на которой фиксируется изобра- жение, у него имеются специальные датчики (фотоматрицы): мат- ричные приборы с зарядовой связью – ПЗС (Charge Coupled Device, CCD) или комплементарные металлооксидные полупроводниковые приборы КМОП (Complementary Metal Oxide Semiconductor, CMOS). Эти датчики преобразуют изображение, проецируемое на них объективом, в цифровую форму. Две качественные характеристики, напрямую влияющие на ре- зультат съемки, – динамический диапазон сенсора и разрядность представления цвета. Первая из этих характеристик отражает спо- собность матрицы передавать световые оттенки, вторая относится 41 не только к самому сенсору, но и к аналого-цифровому преобразо- вателю, переводящему электрические сигналы с выводов матрицы в цифровой код. Динамический диапазон – это количество оттенков серого (т. е. уровней яркости), которые способен различить светочувствительный материал (фотопленка или сенсор цифровой камеры) между абсо- лютно черным и абсолютно белым цветом. Чем выше динамический диапазон, тем выше достоверность изображения на экспонированном носителе. Самым высоким динамическим диапазоном обладает нега- тивная фотопленка. Поэтому до сих пор, несмотря на достижения цифровых технологий, для демонстрации фильмов в кинотеатрах ис- пользуются обычные пленочные, а не цифровые проекторы. Существует несколько вариантов конструкции цифровых фото- аппаратов: камеры с задней разверткой (рис. 5.1), трехкадровые ка- меры (рис. 5.2) и однокадровые камеры с одной или тремя фотомат- рицами (рис. 5.3 и 5.4). В основном применяются однокадровые фо- токамеры. Рис. 5.1. Принцип действия камеры с задней разверткой Камера с задней разверткой производит сканирование в плоскос- ти изображения. Принцип работы такой камеры (см. рис. 5.1) напо- 42 минает технологию сканирования, реализованную в сканерах с построчным считыванием информации. Сканирующая головка, содержащая линейку светочувствительных ПЗС, перемещается с не- большим шагом вдоль задней фокальной плоскости камеры поперек изображения, за каждый шаг регистрируя одну строку пикселей. Камеры, в которых применяется такой принцип, позволяют полу- чать изображения с высоким разрешением, но время экспозиции может достигать нескольких минут, что делает технику задней раз- вертки непригодной для съемки движущихся объектов или при ра- боте со вспышкой. Во время сканирования затвор камеры остается открытым, поэтому необходимо применять постоянное освещение, так как ни вспышка, ни стробоскоп в данном случае не годятся. Трехкадровая камера предназначена для регистрации цветных изображений неподвижных объектов (рис. 5.2). В качестве свето- чувствительного датчика используется двумерная матрица ПЗС. Плоские двумерные матрицы имеют гораздо меньшее разрешение, чем линейные. Каждый элемент матрицы формирует одну точку изображения. Экспозиция производится с такой скоростью, что можно пользоваться освещением от обычной вспышки. Рис. 5.2. Принцип действия трехкадровой камеры 43 Для регистрации цветного изображения нужно сделать три от- дельных снимка через три светофильтра (красный, зеленый и си- ний). Между экспонированиями диск со светофильтрами поворачи- вается таким образом, чтобы в момент съемки перед матрицей находился или красный, или зеленый, или синий фильтр. Технология, реализованная в однокадровых камерах с одной матрицей, обеспечивает высокую скорость оцифровывания изобра- жения, но характеризуется более низким разрешением и худшей цветопередачей, чем «многоснимочная» технология. Такие камеры называются также камерами с вычислением цветов. Как и в трехкадровой, в однокадровой камере с одной матрицей (рис. 5.3) применяется плоская матрица, но данные о цвете реги- стрируются не через отдельные фильтры, а через нанесенный на поверхность ПЗС-матрицы пленочный фильтр, состоящий из крас- ных, зеленых и синих элементов. Данные о каждой точке изображе- ния регистрируются только в одном из трех цветов, например в красном. Для добавления к нему надлежащих долей зеленого и синего программа обработки интерполирует данные о цветах со- седних точек. Поскольку требуется всего одна экспозиция, одно- кадровые камеры обеспечивают съемку движущихся объектов. Рис. 5.3. Принцип действия однокадровой камеры с одной матрицей 44 Принцип действия однокадровой камеры с тремя матрицами (камеры для однокадровой цветной съемки), в состав которой вхо- дят три матрицы, заключается в расщеплении приходящего света на красную, зеленую и синюю составляющие, причем каждая из них направляется на свою матрицу (рис. 5.4). В одних моделях каждая матрица регистрирует свой цвет, в других объединяются плоская матрица, на поверхность которой нанесены красный и синий пле- ночные фильтры, и две дополнительные матрицы с зелеными фильт- рами. Во втором случае интерполяция производится только по двум цветам, что приводит к повышению качества зафиксированного изображения. Недостаток этого способа регистрации – относитель- но невысокое разрешение. Рис. 5.4. Принцип действия однокадровой камеры с тремя матрицами При использовании трехслойных фотоматриц Х3 (рис. 5.5) ком- пании Foveon цветоделение на основные цвета RGB проводится в толщине полупроводникового материала послойно, с применением физических свойств кремния, заключающихся в том, что с увеличе- нием длины волны световых волн растет и глубина их проникнове- ния в кремний (рис. 5.5, а). Фотодиоды, созданные чередованием зон проникновения света, размещают один под другим на характер- ных глубинах для улавливания фотонов синего, зеленого и красного 45 цветов. Синяя часть спектра поглощается верхним слоем (толщина 0,2 мкм), зеленая – средним (толщина 0,4 мкм), а красная – нижним (более 2 мкм). Толщина каждого слоя выбрана по результатам экс- периментальных исследований глубины проникновения в кремний квантов соответствующего спектрального диапазона. Слои, в кото- рых происходит фотоэффект, разделены дополнительными тонкими зонами низколегированного кремния и имеют отдельные выводы сигнала. Таким образом, получается датчик, регистрирующий ин- формацию о трех цветовых компонентах изображения в одной точ- ке, точно соответствующей координатам формируемого пикселя. Рис. 5.5. «Трехслойная» фотоматрица: а – принцип действия; б – структура фотоматрицы Достоинствами трехслойных фотоматриц является то, что они не требуют установки цветных фильтров и в связи с этим повышения со- отношения «сигнал/шум», так как фильтры поглощают примерно 2/3 светового сигнала, а также потенциально более высокое разрешение. Недостатками трехслойных фотоматриц следует считать невы- сокую точность цветопередачи, так как в наибольшей степени она определяется свойствами кремния, а также относительно высокий уровень цифрового шума из-за того, что часть фотонов поглощается не в «своей» области. Отметим, что пока цифровые фотоаппараты не превосходят пле- ночные. Цифровой фотоаппарат не может снимать в условиях низ- кой освещенности без применения источников искусственного све- та, а профессиональная пленка светочувствительностью в 3200 еди- ниц ISO вытянет снимок даже при свете обычной свечи. 46 5.3. Получение изображений с помощью ультразвука Ультразвуковое исследование (УЗИ) – это неинвазивное ис- следование живого организма с помощью ультразвуковых волн (рис. 5.6 и 5.7). Физическая основа УЗИ – пьезоэлектрический эффект. При де- формации монокристаллов некоторых химических соединений под воздействием ультразвуковых волн на поверхности этих кристаллов возникают противоположные по знаку электрические заряды – пря- мой пьезоэлектрический эффект. При подаче на них переменного электрического заряда в кристаллах возникают механические коле- бания с излучением ультразвуковых волн. Один и тот же пьезоэле- мент может быть попеременно приемником и источником ультра- звуковых волн. Эта часть в ультразвуковых аппаратах называется акустическим преобразователем. В системах медицинской ультразвуковой диагностики обычно используют частоты от 2 до 10 МГц. Разрешающая способность со- временных ультразвуковых аппаратов достигает 1–3 мм. Любая среда, в том числе и ткани организма, препятствует распростране- нию ультразвука, т. е. обладает различным акустическим сопротив- лением, величина которого зависит от их плотности и скорости рас- пространения звуковых волн. Достигнув границы двух сред с раз- личным акустическим сопротивлением, пучок ультразвуковых волн претерпевает существенные изменения: одна его часть продолжает распространяться в новой среде, в той или иной степени поглоща- ясь ею, другая отражается. Коэффициент отражения зависит от раз- ности величин акустического сопротивления граничащих друг с другом тканей: чем это различие больше, тем больше отражение и амплитуда зарегистрированного сигнала, а значит, он светлее и ярче будет выглядеть на экране аппарата. Полным отражателем является граница между тканями и воздухом. Так как на границе перехода ультразвука из воздуха на кожу происходит отражение 99,99 % колебаний, то при ультразвуковом сканировании пациента необходимо смазывание поверхности кожи водным желе, которое выполняет роль переходной среды. Отраже- ние зависит от угла падения луча (наибольшее при перпендикуляр- ном направлении) и частоты ультразвуковых колебаний (при более высокой частоте большая часть отражается). Для исследования ор- 47 ганов брюшной полости и забрюшинного пространства, а также по- лости малого таза используется частота 2,5–3,5 МГц, для исследо- вания щитовидной железы используется частота 7,5 МГц. Генератор работает в импульсном режиме, посылая около 1000 импульсов в секунду. В промежутках между генерированием ульт- развуковых волн пьезодатчик фиксирует отраженные сигналы. Отраженные эхосигналы поступают в усилитель и специальные сис- темы реконструкции, после чего появляются на экране монитора в виде изображения срезов тела, имеющих различные оттенки чер- но-белого цвета, т. е. 2D-полутоновое изображение (см. рис. 5.6). Оптимальным является наличие не менее 64 оттенков серого. Рис. 5.6. Измерение размера головки плода: а – схема; б – изображение Рис. 5.7. Ребенок на 20-й неделе беременности Сейчас можно получить 3D-УЗИ – статичные трехмерные изображения, получаемые в результате объемного сканирования 48 (см. рис. 5.7). УЗИ 4D – это движущиеся изображения в формате 3D, которые можно наблюдать в режиме реального времени. В ка- честве четвертого измерения выступает время. 5.4. Регистрация рентгеновского изображения Получение изображения основано на ослаблении рентгеновского излучения при его прохождении через различные ткани с последу- ющей его регистрацией на рентгеночувствительную пленку. При рентгенографии пациент размещается между рентгеновской труб- кой и пленкой (детектором). В результате прохождения через обра- зования разной плотности и состава пучок излучения рассеивается и тормозится, в связи с чем на пленке формируется изображение раз- ной степени интенсивности (рис. 5.8). В результате на пленке полу- чается усредненное изображение всех тканей (тень). Из этого сле- дует, что для получения адекватного рентгеновского снимка необ- ходимо проводить исследование рентгенологически неоднородных образований. В современных цифровых аппаратах регистрация вы- ходного излучения может производиться на специальную электрон- ную матрицу. Аппараты, обладающие электронной чувствительной матрицей, дороже аналоговых устройств. При этом изображение выводится на монитор и сохраняется в базе данных. Рис. 5.8. Пример рентгеновского цифрового снимка Качество полученного рентгеновского снимка определяется тре- мя основными параметрами: напряжением, подаваемым на рентге- 49 новскую трубку, силой тока и временем работы трубки. В зависи- мости от исследуемых анатомических образований и массогабарит- ных данных больного эти параметры могут существенно изменять- ся. Существуют средние значения для разных органов и тканей, но фактические значения отличаются в зависимости от аппарата, где проводится исследование, и больного, которому проводится рент- генография. Для каждого аппарата составляется индивидуальная таблица значений. Значения эти не абсолютные и корректируются по мере выполнения исследования. Обычно разрешающая способность достигает 0,5 мм (одна пара линий на миллиметр соответствует 2 пикселям/мм), но можно по- лучить и более высокое разрешение: до 26 пар линий на миллиметр, что соответствует 0,02 мм. Недостатки рентгенографии: информативность классической рентгенографии значительно ниже таких методов визуализации, как компьютерная (КТ) и магнитно- резонансная томография (МРТ). Обычные рентгеновские изображения отражают проекционное наслоение сложных анатомических структур, т. е. их суммарную рентгеновскую тень, в отличие от послойных серий изображений, получаемых томографическими методами; без применения контрастирующих веществ рентгенография прак- тически неинформативна для анализа изменений в мягких тканях. 5.5. Томографические изображения Томографические изображения получают с помощью устройств двух типов на базе рентгеновского излучения и ядерного магнитно- го резонанса. 5.5.1. Магнитно-резонансная томография Магнитно-резонансная томография (МРТ) – это томографиче- ский метод исследования внутренних органов и тканей с использо- ванием физического явления ядерного магнитного резонанса. Ме- тод основан на измерении электромагнитного отклика ядер атомов водорода на возбуждение их определенной комбинацией электро- магнитных волн в постоянном магнитном поле высокой напряжен- ности (рис. 5.9). 50 Рис. 5.9. МРТ-изображение головы человека В 1973 г. Пол Лотербур опубликовал статью «Создание изобра- жения с помощью индуцированного локального взаимодействия. Примеры на основе магнитного резонанса», и этот год считается годом основания магнитно-резонансной томографии. Позже Питер Мэнсфилд усовершенствовал математические алгоритмы получения изображения. В СССР способ и устройство для ЯМР-томографии этого типа предложил В.А. Иванов в 1960 г. (в 1986 году термин «ЯМР- томография» был заменен на МРТ). За изобретение метода МРТ Питер Мэнсфилд и Пол Лотербур в 2003 году получили Нобелевскую премию в области медицины. В создание магнитно-резонансной томографии известный вклад внес также американо-армянский ученый Реймонд Дамадьян, один из первых исследователей принципов МРТ, держатель патента на МРТ и создатель первого коммерческого МРТ-сканера. Томография позволяет с высоким качеством визуализировать го- ловной, спинной мозг и другие внутренние органы. Эффект ядерно-магнитного резонанса возникает при взаимодей- ствии между протонами биологических тканей, постоянным или переменным магнитным полем и энергией радиочастотных импуль- сов, испускаемых катушкой, помещенной около исследуемой части тела. Под действием радиочастотных импульсов протоны атомов водорода временно переходят на более высокий энергетический уровень. Возвращение протонов к равновесному состоянию сопро- 51 вождается выделением энергии в виде импульсов определенной (так называемой резонансной) частоты. Эту энергию можно изме- рить при помощи приемной катушки. Для получения изображения эти сигналы обрабатываются с помощью преобразования Фурье. МРТ позволяет получать изображение в сагиттальной, верти- кальной, горизонтальной плоскостях, а также под углом к ним, не изменяя положения больного. Изображение в каждой плоскости формируется за 5–10 мин. В отличие от КТ изменение положения больного во время исследования искажает все изображения. 5.5.2. Компьютерная томография Идея компьютерной томографии (КТ), заключается в компью- терной реконструкции изображения поперечного среза тела на ос- новании анализа поглощения рентгеновского излучения. Трубка испускает тонкий веерообразный пучок рентгеновских лу- чей, перпендикулярный длинной оси тела. Этот пучок может быть достаточно широким и охватывать весь диаметр тела. Толщину пучка можно регулировать от 1 до 10 мм, при этом изменяется толщина исследуемого среза ткани. Пропускаемый через пациента пучок рентгеновских лучей фиксируется не пленкой, а системой специаль- ных детекторов. Рентгеновские фотоны генерируют в детекторах электрические сигналы. Чем сильнее интенсивность достигшего детектора первичного луча, тем сильнее электрический сигнал. Фиксируя интенсивность пропущенного излучения, можно рас- считать ослабление первичного луча. КТ-детекторы примерно в 100 раз чувствительнее рентгеновской пленки при определении разли- чий в интенсивности излучения. Таким образом, они чувствитель- нее и при определении различий в ослаблении. Получение компьютерной томограммы (среза) на выбранном уровне основывается на выполнении следующих операций: 1) формирование требуемой ширины рентгеновского луча (кол- лимирование); 2) сканирование пучком рентгеновского излучения, осуществля- емого движением (вращательным и поступательным) вокруг непо- движного объекта устройства «излучатель–детекторы»; 3) измерение излучения и определение его ослабления с после- дующим преобразованием результатов в цифровую форму; 52 4) компьютерный синтез томограммы по совокупности данных измерения, относящихся к выбранному слою; 5) построение изображения исследуемого слоя и отображения его на экране монитора. Воздух или газ, вне зависимости от их места нахождения, выгля- дят черными, а кости – белыми. Другие органы, ткани и участки патологических изменений отображаются оттенками серого между этими двумя крайностями. Качество изображения растет при увеличении числа детекторов и количества регистрируемых проекций за один оборот трубки и при увеличении первичной матрицы. Однако увеличение количе- ства регистрируемых проекций ведет к повышению лучевой нагрузки, а применение большей первичной матрицы – к увеличе- нию времени обработки среза или необходимости устанавливать дополнительные специальные процессоры видеоизображения. Современный томограф позволяет получать срезы толщиной 1, 2, 5 и 10 мм со скоростью сканирования слоя 1–3 с, полное ис- следование головного мозга занимает 2–3 мин. На МРТ лучше видны мягкие ткани, и на ранних стадиях пора- жения центрально нервной сиситемы (ЦНС) она чувствительнее КТ. Компьютерная томография используется для визуализации позво- ночника, основания черепа и височных костей. Острые внутримоз- говые и субарахноидальные кровоизлияния, а также стеноз позво- ночного канала, остеохондроз и остеоартроз позвоночника на КТ лучше видны, чем на МРТ, хотя последняя предпочтительнее у больных с неврологическими нарушениями. 5.5.3. Отличия изображения компьютерной томографии от магнитно-резонансной На обычном рентгеновском снимке лучше всего различимы кос- ти. Поэтому КТ идеально подходит для диагностирования костных повреждений. Кроме того, на КТ хорошо видно свежее кровотече- ние, поэтому КТ применяют при исследованиях больных с травма- ми головы, грудной клетки, брюшной и тазовых полостей, а также инсультов в ранней стадии. Использование контрастного вещества позволяет получить качественное изображение сосудов, почек и кишечника. 53 На МРТ кости тоже видны, но еще лучше получаются мягкие ткани (хрящи, мышцы, связки, мозг и т. д.). Поэтому МРТ, напри- мер, показана при подозрении на разрыв связок и для исключения грыжи межпозвонкового диска. МРТ широко используют в нейро- хирургии и неврологии (старые травмы головного мозга, инсульты в поздней стадии, подозрения на опухоли спинного и головного мозга и т. д.). 5.6. Формирование изображений дистанционного зондирования Земли Для дистанционного зондирования Земли (ДЗЗ) сейчас исполь- зуются разные системы, формирующие изображение исследуемой местности. Их можно разделить на несколько классов, различаю- щихся по спектральному диапазону используемого электромагнит- ного излучения, типу приемника регистрируемого излучения и ме- тоду зондирования (активный или пассивный): фотографические системы; сканирующие системы видимого и ИК-диапазона (телевизион- ные, сканирующие радиометры и многоспектральные сканеры); телевизионные оптические системы; радиолокационные системы бокового обзора; сканирующие СВЧ-радиометры. Атмосфера поглощает часть отраженных лучей электромагнитно- го спектра, но в ней есть несколько «окон прозрачности», которые пропускают электромагнитные волны с минимальной степенью ис- кажений. Чаще всего в методах ДЗЗ используется окно прозрачности, соответствующее оптическому (видимому) диапазону, объединяю- щему видимую (380–720 нм), ближнюю инфракрасную (720–1300 нм) и среднюю инфракрасную (1300–3000 нм) области. Полученные снимки классифицируются по пространственному разрешению: снимки низкого разрешения (300–1 000 м); снимки среднего разрешения (50–200 м); снимки относительно высокого разрешения (20–40 м); снимки высокого разрешения (10–20 м); снимки очень высокого разрешения (1–10 м); снимки сверхвысокого разрешения (0,3–0,9 м). 54 5.6.1. Формирование мультиспектральных изображений Мультиспектральные камеры – самые распространенные виды сен- соров, установленных на спутниках ДЗЗ. Отраженные волны проходят сквозь светофильтры, выделяющие определенный участок электро- магнитного спектра, затем – через фокусирующие линзы, дисперсиру- ющее устройство и попадают на ПЗС-линейку, где регистрируются в виде полутонового изображения. Число фильтров определяет коли- чество каналов мультиспектрального изображения (табл. 5.1). Таблица 5.1 Спутники со съемочными системами высокого разрешения Спутник Pan, мм B, мм G, мм R, мм NIR, мм Др. Разре- шение, м Бит WorldView-3 .45- .80 .4-.5 фиол и .45-51 .51-.58 и .585- .625 жел. .63- .69 и .705- .745 .77- .895 и .86- 1.04 Нет .31 и 1.24 11 WorldView-2 -//- -//- -//- -//- -//- Нет .5 и 2 11 GeoEye-2 .45- .90 .45-.52 .52-.60 .625- .695 .76-.90 Нет .25 и 1.65 11 Ikonos .45- .90 .45-.52 .51-.60 .63- .70 .76-.90 Нет 1 и 4 11 QuickBird .45- .90 .45-.52 .52-.60 .63- .69 .76-.90 Нет .61 и 2.44 11 OrbView-3 .45- .90 .45-.52 .52-.60 .625- .695 .76-.90 Нет 1 и 4 11 Spot-6 и 7 .45– .745 .45-.52 .53-.59 .625- .695 .76-.89 Нет 2 и 6 12 СИЧ-2, Украина .50- .90 Нет .50-.60 .61- .68 .80-.89 1,55- .170 7,8 и 39,5 8 БелКА и Канопус-B .45- .85 .46-.52 .52-.60 .63- .69 .75-.86 Нет 2,1 и 10,5 10 Отметим следующие факты: 1) чем шире спектральный диапазон отражаемого сигнала, тем выше разрешение (пример: панхроматический режим); 2) мультиспектральные диапазоны могут не пересекаться и наоборот. 55 5.6.2. Формирование гиперспектральных изображений Ключевым моментом при построении гиперспектральных систем является способ формирования трехмерной структуры данных на двух- или одномерный массив фотоприемников. Гиперкубом назы- вают трехмерный массив данных, два измерения которого соответ- ствуют пространственным координатам x, y, третье – спектральной координате λ (рис. 5.10). Рис. 5.10. Сканирование гиперспектрометром пространства вдоль оси x (или λ) Гиперкуб получают при съемке кадра путем фиксации одной из координат: либо пространственной, например x, либо спектральной λ. За один кадр фотоприемная матрица формирует двумерный срез гиперкуба с фиксированной третьей координатой. Поэтому для по- строения полного гиперкуба приходится использовать сканирование по одной из координат – пространственной либо спектральной λ. Наиболее распространенными на сегодняшний день являются гиперспектрометры, которые в каждый момент времени регистри- руют узкий отрезок поверхности под собой. Такие гиперспектро- метры относятся к типу pushbroom (рис. 5.11). 56 Рис. 5.11. Принципиальная схема гиперспектрометра Формирование изображения узкого отрезка поверхности поперек направления полета производится посредством щели на задней фо- кальной плоскости входного объектива. После коллимирующего объектива отраженный сигнал в парал- лельных лучах попадает на призму. В призме происходит его раз- ложение в спектр, и затем он проецируется на фотоприемную мат- рицу. Таким образом, на матрице формируется срез гиперкуба для фиксированной пространственной координаты x. Большинство спектрометров регистрируют 100–200 каналов ши- риной по 0,4–2,5 нм каждый. Таким образом, мультиспектральные и гиперспектральные снимки могут покрывать одинаковый спектральный диапазон, но отличаются по оптическому способу регистрации. y Щель Входной объектив Коллиматор Спектроделитель Проекционный объектив Фотоприемная матрица  y 57 Глава 6. ВИДЕО И ФОРМАТЫ ВИДЕО Цифровое видео базируется на множестве технологий записи, обработки, передачи, хранения и воспроизведения визуального или аудиовизуального материала в цифровом представлении. Не стоит путать понятие «цифровое видео» с цифровым телевидением. Циф- ровое телевидение определяет стандарты передачи видео- и аудио- сигнала от передатчика к телеприемнику, используя при этом циф- ровую модуляцию, т. е. предполагает передачу цифрового видео на расстояние посредством спутниковых, наземных, мобильных или кабельных сетей. Видеосигнал формируется из последовательности кадров – отдельных изображений. Системы регистрации видеосиг- нала бывают одно- и трехматричные. Первые считывают изображе- ние со светочувствительного элемента камеры (ПЗС или КМОП- матрица). Для получения цветного видеоизображения применяют специальную RGB-фильтрацию элементов изображения, чтобы на каждый пиксель приходилось по три значения цвета – красного, зе- леного и синего. Такой метод применяется в недорогих одномат- ричных видеокамерах и фотоаппаратах с поддержкой видеозаписи. Для профессиональной видеосъемки применяются трехматрич- ные и более системы, где оптическое цветоделение производится при помощи дихроичной призмы. Каждое из цветоделенных изоб- ражений попадает на отдельную матрицу, с которой считываются элементы кадра, затем формируется видеосигнал отдельной компо- ненты. После гамма-коррекции сигналов R, G, B производится их преобразование в модель YCbCr. Полученные компоненты Y, Cr, Cb квантуются с разрядностью 8 или 10 бит. Но для передачи ком- поненты Y при 8-битном кодировании из 256 доступных уровней используется только 220 (диапазон 16–235), а остальные – для сиг- налов синхронизации. При 10-битном кодировании используется 877 уровней. Для цветовых компонент Cr, Cb используется 225 уровней в 8-битной системе и 897 уровней в 10-битной системе. Для цифровых видеостандартов принято базовое соотношение 4 : 2 : 2, которое означает, что цветоразностные компоненты Cr, Cb передаются с пространственным разрешением, в два раза меньшим разрешения по яркостному сигналу, потому что человеческий глаз более чувствителен к изменению яркости, чем цвета. При этом час- тота дискретизации для яркостного сигнала Y устанавливается рав- 58 ной 13,5 МГц, что в два раза больше, чем для цветоразностных сиг- налов Cr и Cb, – 6,75 МГц. Для сигналов телевидения высо́кой чет- кости установлены частоты дискретизации сигналов яркости 74,25 МГц и цветности 37,125 МГц. Для европейского видеостандарта PAL размер кадра составляет 720 × 576 пикселей, для североамери- канского стандарта NTSC – 720 × 480, для видео высокой четкости (HD 720p) – 1280 × 720, а для стандарта HDTV (Full HD) – 1920 × 1080 точек. Минимальный показатель, при котором движение будет восприниматься однородным, – 16 кадров в секунду. В кино стан- дартная частота съемки и проекции составляет 24 кадра в секунду. Системы телевидения PAL и SECAM используют 25 кадров в секунду, а система NTSC – 30 кадров в секунду. Стандарт разложения определяет параметры телевизионной раз- вертки, применяемой для преобразования двумерного изображения в одномерный поток данных. Развертка может быть прогрессивной (построчной) или чересстрочной. При прогрессивной развертке все горизонтальные строки изображения отображаются поочередно од- на за другой. При чересстрочной развертке каждый кадр разбивает- ся на два полукадра, каждый из которых содержит четные или не- четные строки. Для размещения 60-секундного ролика с частотой 30 кадров в секунду разрешением 720 × 576 пикселей и 16-битной глубиной цвета потребуется около полутора гигабайт свободного дискового пространства без учета звуковой дорожки. Существует несколько десятков форматов сжатия, которые используют разные алгоритмы компрессии. Для кодирования видеосигнала используют форматы видео MPEG-2, MPEG-4, H.264, DV, AVC и др. При этом, используя определенный алгоритм преобразования данных, можно сжать ви- део разными программными средствами, что на выходе дает раз- личные результаты. Эти отличия определяются кодеком – про- граммой, осуществляющей сжатие исходных сигналов. При этом каждый кодек использует собственный алгоритм, который влияет на качество и скорость кодирования. Фильм длительностью 1,5 часа, записанный в формате DV, занимает 20 Гб, в MPEG-2 – 4,7 Гб, в MPEG-4 – 700 Мб. 59 Выводы по разделу I Изображение – это двумерный зарегистрированный сигнал, от- раженный в определенном участке электромагнитного спектра. Ис- ключением является рентгеновское излучение: регистрируется сиг- нал, прошедший через некоторое тело. Цифровое изображение – это дискретная функция двух про- странственных переменных f(x, y), определенная в конечной облас- ти плоскости XY, принимающая множество неотрицательных целых значений из диапазона [0, 2n–1], где n – целое. То есть f(x, y) ≥ 0, 0 ≤ x ≤ a, 0 ≤ y ≤ i, где f(x, y) − целое число, обозначающее номер диапа- зона некоторой шкалы, соответствующий яркости изображения в пикселе с координатами (x, y); a − ширина; b − высота изображения. Функция f представлена таблично, в виде прямоугольной матри- цы. Элементы матрицы называются пикселями (от англ. pixel – picture element). На логическом уровне представления бинарные, полутоновые и индексированные изображения задаются двумерной таблицей, цветные и многоспектральные изображения – трехмерной матри- цей. Для хранения и передачи изображение может записываться в файлы с использованием разных форматов, часто подвергаясь сжатию (не путать алгоритм сжатия и формат, например JPEG). При этом данные располагаются в файле последовательно, т. е. фактиче- ски в виде одномерного массива. После считывания и декомпрессии файла, содержащего изобра- жение, восстанавливается матрица значений яркости. Если изобра- жение бинарное или полутоновое, матрица двумерна. Если изобра- жение цветное или многоспектральное, она трехмерна, но каждый ее слой, соответствующий отражению в определенном диапазоне электромагнитного спектра, представляет собой полутоновое изоб- ражение. Такие матрицы, содержащие информацию о яркости, представ- ляют цифровые изображения, которые являются исходными дан- ными для методов обработки, описанных в разд. II. 60 Раздел II. ОБРАБОТКА ЦИФРОВЫХ ИЗОБРАЖЕНИЙ Глава 7. КЛАССИФИКАЦИЯ МЕТОДОВ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ Цифровая обработка изображений – это любой способ измене- ния данных, представленных цифровыми изображениями, результа- том обработки также является цифровое изображение (рис. 7.1). Рис. 7.1. Примеры изображений, требующих корректировки Цель обработки изображений: преобразование изображений, ориентированное на визуальное восприятие человеком (в основном повышение качества, коррек- ция цвета, контраста, исправления мелких помех или искажение изображения), преобразование изображений, ориентированное на их авто- матизированный анализ (например, фильтрация, математическая морфология, сегментация на области определенных классов, выде- ление объектов и т. п.). Темное или слабоконтрастное Неправильные цвета Шумное Размытое Неравномерно освещенное 61 Среди задач обработки изображений можно выделить две: улучшение и восстановление изображений. Главная цель улучшения заключается в таком изменении изоб- ражения, чтобы результат оказался наиболее подходящим с точки зрения конкретного применения. Слово конкретное является важ- ным, поскольку, например, метод, будучи полезным для улучшения рентгеновских изображений, как правило, не подходит для обработ- ки цветных фотографий, и наоборот. Общей теории улучшения изображений не существует. Если изображение обрабатывается для визуальной интерпрета- ции, наблюдатель окончательно судит о том, насколько хорош при- мененный метод. Визуальное оценивание качества изображения – это субъективный процесс, а понятие «хорошее изображение» не- возможно формализовать или оценить численно. Если цель – обра- ботка изображения для машинной обработки, задача оценивания проще. Например, в задаче распознавания символов лучшим будет тот метод обработки изображения, который приводит к более точ- ным результатам машинного распознавания. Целью восстановления также является повышение качества изображения, но для других применений. Несмотря на пересечение областей использования методов обоих классов, улучшение изоб- ражений ориентировано на субъективное восприятие результата, в то время как восстановление может быть оценено более объек- тивно. При восстановлении выполняется реконструкция изображе- ния, искаженного в процессе регистрации – например, смазанного, – путем использования априорной информации о явлении, которое вызвало ухудшение изображения. Поэтому методы восстановления основаны на моделировании процессов искажения, применения об- ратных процедур для воссоздания исходного изображения, и они могут быть оценены более объективно. Таким образом, улучшение изображений выполняется как для визуального восприятия результата человеком, так и для автомати- ческого анализа и распознавания изображений. В чем разница? Че- ловеческий глаз не отличит на полутоновом изображении яркости 10, 14 и 18, а при автоматическом анализе придется решать, соот- ветствует ли яркость этих пикселей одной однородной области. Методы обработки изображений классифицируют по-разному: 62 1. Исправление дефектов изображения: шум (случайные погрешности цвета в каждой точке изображения); недостаточная или избыточная яркость; недостаточная или избыточная контрастность, избыточный ди- намический диапазон изображения; неправильный цветовой тон; нерезкость (расфокусировка); искажения из-за пыли, царапин на сканируемом документе; «битые пиксели»; устранение дисторсии (искривления); ретушь фотопортретов: ретушь кожи (устранение прыщей, царапин, шрамов, синяков, пор, веснушек или уменьшение их количества, разглаживание морщин); отбеливание зубов; замена цвета волос, глаз; коррекция формы фигуры и т. п. 2. Структурное редактирование изображений: кадрирование; создание панорам; устранение ненужных деталей изображения; фотомонтаж (создание из нескольких изображений нового изоб- ражения); вставка чертежей, надписей, символов, указателей и пр.; применение спецэффектов, фильтров, теней, текстур. 3. Подготовка фотографий к публикации (в печати, Интернете). Разные устройства вывода (монитор, принтер, офсетная печатная машина и т. п.) имеют разные возможности цветового охвата (не лю- бой цвет можно воспроизвести). Выполняется коррекция цвета для печати на бумаге, определяется количество краски каждого цвета. Для устранения искажений, внесенных в процессе регистрации изображений, используются методы геометрической и яркостной коррекции. При обработке космических снимков применяют также атмосферную коррекцию изображений. Отдельную нишу занимают методы обработки и анализа изоб- ражений с помощью математической морфологии. Методы обработки можно условно разделить на три уровня: низкий (не используются дополнительные знания, модели и ин- формация об объектах, представленных на изображении); 63 средний (частично используются дополнительные сведения); высокий (широко используются дополнительные сведения и контекст изображения). Методы обработки изображений можно разделить на три класса согласно количеству пикселей, участвующих в преобразовании яр- кости одного пикселя нового изображения: точечные (в вычислениях используется значение одного пиксе- ля исходного изображения); локальные (в вычислениях используются значения нескольких соседних пикселей в заданной окрестности); глобальные (при вычислении значения пикселя используются все пиксели исходного изображения). Вычислительная сложность алгоритмов пропорциональна коли- честву пикселей, участвующих в вычислении нового значения ярко- сти одного пикселя. Линейный функционал – это линейное отображение множества функций в множество чисел со свойствами: F[f + g] = F[f] + F[g]; (7.1) F[cf] = cF[f], где F – линейный функционал; f и g – функции из его области определения; c – константа. В соответствии с этим определением методы обработки изобра- жений можно разделить на линейные и нелинейные. Линейные ме- тоды допускают упрощение вычислений (и соответственно ускоре- ние), а также реализацию с помощью операции свертки. Обработка изображений может осуществляться рекурсивными и нерекурсивными методами. В рекурсивных методах используется результат обработки части соседних пикселей, при нерекурсивных не используется. В обработке изображений большинство методов нерекурсивное. Многие методы обработки изображений адаптированы из разных областей науки: обработки многомерных сигналов, математики, фи- зики, фотографии, полиграфии, картографии и др. 64 Глава 8. ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЙ Геометрические преобразования заключаются в пространствен- ном преобразовании положения совокупности пикселей из одной двумерной системы координат в другую. При этом изображение удобно рассматривать в виде прямоугольной сетки растра (пиксе- лей), заданного в прямоугольной системе координат. При выполне- нии геометрических преобразований исходное множество пикселей с координатами (x, y) преобразуется в новое множество (т. е. «сет- ка» трансформируется пространственно) с координатами (x’, y’) и сохранением яркости в этих пикселях. Поскольку цифровое изоб- ражение представляет собой дискретное множество, кратко опишем основы геометрических преобразований для непрерывных мно- жеств, а затем адаптируем их для растровых изображений. При изучении геометрических преобразований плоских изобра- жений (2D) предполагается, что имеются евклидово пространство c ортонормированной декартовой системой координат с взаимно ортогональными осями. Тогда каждому пикселю изображения ста- вится в соответствие пара (x, y) декартовых координат: их можно интерпретировать как двумерный вектор X, представленный отрез- ком, проведенным из точки (0,0) до точки (x, y). Двумерные преобразования на плоскости можно интерпретиро- вать как движение точек, соответствующих множеству пикселей. Выделим линейные преобразования, представляемые матрицами, т. е. преобразования, при которых новые координаты точки линейно зависят от исходных координат этой точки следующим образом: . x Tx (8.1) Для удобства матричного описания и комбинирования геометри- ческих преобразований в 2D-плоскости используется формализм, называемый однородными координатами. Точки плоскости описы- ваются трехмерными векторами вида (x, y, 1), а преобразование – в матричном виде: 65 11 12 13 21 22 23 31 32 33 . x t t t x y t t t y w t t t w                         (8.2) К линейным преобразованиям можно отнести кусочно-линейные, т. е. такие, при которых изображение разбивается на части, к каждой из которых применяются разные линейные преобразования. Нелинейные преобразования: полиномиальные (посредством полиномиальных функций), синусоидальные преобразования и т. п. в данном издании не рассматриваются. 8.1. Аффинные преобразования Основные типы аффинных преобразований и их матричные представления показаны на рис. 8.1. Рис. 8.1. Базовые преобразования аффинного типа В общем виде любое аффинное преобразование на плоскости описывается уравнениями: 66 ; , x ax bx c y dx ey f         (8.3) или в матричном виде x Ax c;   x ; A ; x y a b d e            (8.4) c . c f       В однородных координатах это преобразование можно описать одной матрицей T или 11 21 12 22 0 0 0 1 1 0 . 1 t t x y x y t t x y       (8.5) Опишем параметры базовых аффинных преобразований (мас- штабирование, поворот, перенос, отражение относительно оси). 8.1.1. Сдвиг изображения Сдвиг задается соотношениями ; . x x c y y f       (8.6) Матрица сдвига имеет вид 1 0 0 1 . 0 0 1 af c f        T (8.7) 67 8.1.2. Отражение изображения относительно оси Отражение относительно оси абсцисс задается формулами: ;x x  (8.8) .y y   Матрица отражения имеет вид 1 0 0 T 0 1 0 . 0 0 1 af        (8.9) 8.1.3. Масштабирование изображения Преобразование задается в виде: , 0;x x     (8.10) , 0.y y     В однородных координатах матрица преобразования имеет вид: 0 0 T 0 0 . 0 0 1 af        (8.11) Не обязательно .   Если  и β меньше единицы, изображе- ние уменьшается, если больше единицы – увеличивается. При уве- личении изображения количество пикселей возрастает, появляются новые с неопределенным значением яркости. Их значения вычис- ляются путем интерполяции, т. е. локальными методами, описан- ными ниже. 68 8.1.4. Скос изображения Скос вдоль оси OX описывается формулами ;x x sy   (8.12) .yy  Матрица преобразования в однородных координатах имеет вид: 1 0 T 0 1 0 . 0 0 1 s s       (8.13) 8.1.5. Поворот изображения Поворот вокруг начала координат на угол φ описывается форму- лами: cos sin ;x x y     (8.14) .cossin  yxy Матрица вращения в однородных координатах имеет вид cos sin 0 sin cos 0 . 0 0 1 af           T (8.15) Отметим, что при повороте на 90° cosφ = 0, sinφ = 1, поэтому ;x y   (8.16) .xy  69 При повороте изображения координаты пикселя могут принять нецелые значения и их округляют до целого. Это создает в поверну- том изображении пиксели с неопределенной яркостью. На рис. дан- ные пиксели отмечены черными точками. Рис. 8.2. Изображение, повернутое на 3, 6, 10, 14° вокруг верхнего левого угла. В черных пикселях яркость не определена Пикселям с неопределенной яркостью можно присвоить, напри- мер, значение яркости ближайшего пикселя. Альтернативой являет- ся поворот посредством выполнения трех операций скоса вдоль оси OХ, затем OY и еще раз вдоль OX. Матрица вращения описывается в виде декомпозиции трех матриц: cos sin ( ) sin cos 1 tg / 2 1 0 1 tg / 2 . 0 1 sin 1 0 1 R                               (8.17) После каждой операции скоса выполняется округление коорди- нат до целых значений. Произвольное аффинное преобразование можно записать в виде композиции последовательно выполняемых простейших преобразо- ваний означенного вида. Суперпозиция аффинных преобразований также является аффинным преобразованием. Преимущество супер- позиции: сложное преобразование изображения можно описать ше- стью параметрами, вычисленными один раз, и применить к коорди- натам всех пикселей. Любое аффинное преобразование имеет обратное, которое также является аффинным. Произведение прямого и обратного преобразова- ний дает единичное преобразование, оставляющее все точки на месте. 70 Свойства аффинных преобразований: сохраняются прямые линии; сохраняются отношения длин отрезков, лежащих на одной пря- мой (или на параллельных прямых); сохраняются отношения площадей фигур; параллельные прямые переходят в параллельные. Множество аффинных преобразований образует аффинную группу. Отметим, что аффинная группа является подгруппой проек- тивной группы преобразований, а евклидова группа – частным слу- чаем аффинной группы, и они формируют следующую иерархию: евклидово преобразование  аффинное  проективное преобразование 8.2. Проективные преобразования Общими линейными преобразованиями T в однородных коорди- натах описывается группа проективных преобразований: 11 12 13 21 22 23 31 32 33 . 1 1 x t t t x y t t t y t t t                         (8.18) При представлении в обычных координатах соотношение (8.18) будет иметь нелинейный вид: 11 12 13 31 32 33 ; t x t y tx t x t y t      (8.19) . 333231 232221 tytxt tytxty   В общем случае проективные преобразования не сохраняют па- раллельности линий. Свойством, сохраняющимся при проективном преобразовании, является коллинеарность точек: три точки, лежа- щие на одной прямой (т. е. коллинеарные), после преобразования остаются лежать на одной прямой. 71 Проективное преобразование связано с отображением трехмер- ной визуальной информации на двумерную плоскость. С математи- ческой точки зрения мир удобно рассматривать как трехмерное проективное пространство Р3, а плоскость изображения, включен- ную в проективное пространство, – размерности два Р2. Точки на трехмерной сцене и на изображении представляются в проективных пространствах как векторы в однородных координатах. Проектив- ное преобразование из Р3 в Р2 (перспективная проекция), отобража- ющее евклидову точку сцены p ( , , )tX Y Z в точку изображения x ( , )tx y и выраженное в однородных координатах, задается в виде 11 12 13 14 21 22 23 24 31 32 33 34 P . WX x wx WY y wy WZ w w W Xp p p p Y p p p p Z p p p p W                                                  (8.20) Изображения на рис.8.3, б и в получены следующими проектив- ными преобразованиями: 1,1 0,35 0, 2 1,1 , 0,00075 0,0005 1 0,00075 0,0005 1 x y x y x y x y x y        и (8.21) 1,1 0, 2 0,1 0,9 , . 0, 00075 0, 00005 1 0, 00075 0, 00005 1 x y x y x y x y x y        72 а б в Рис. 8.3. Изображения: а – исходное изображение; б и в – два варианта его проективного преобразования Однородные координаты векторов проективного пространства ( , , , )tX Y Z W и проективной плоскости ( , , )tx y w соотносятся с не- однородными (евклидовыми) координатами векторов р и х следу- ющим образом: p ( , , )tX Y ZW W W и x ( , ) . tyx w w (8.22) Изображение объектов на снимке, сформированном регистриру- ющей камерой, связано с проектированием при помощи пучка пря- мых, поскольку каждая 2D-точка является проекцией множества 3D-точек вдоль некоторого направления (луча проектирования) в плоскость снимка. При рассмотрении геометрических преобразований использова- на идеальная модель камеры. В действительности формирование изображений сопровождается различными нелинейными искажени- 73 ями (типа оптической дисторсии линзы). Приведение снимков к ре- альному представлению можно выполнить нелинейной функцией геометрического преобразования. Для этого используют полиноми- альную аппроксимирующую функцию преобразования: 2 2 ;0 1 2 3 4 5 ... m px a a x a y a x a xy a y a y         (8.23) 2 2 0 1 2 3 4 5 ... , m py b b x b y b x b xy b y b y         где (х, у) – координаты точек идеального изображения, (хʹ, уʹ) – соответствующие им координаты на его проекции. Полиномиальная аппроксимирующая функция преобразования для снимка на рис. 8.4 принимает вид 0,1 0,9 0.002 ,x x y xy    (8.24) 0, 2 1,1 0,0022 .y x y xy    Рис. 8.4. Билинейное геометрическое преобразование снимка с параметрами преобразования (8.2) 8.3. Уточнение координат и яркости пикселей после преобразования После поворота или увеличения изображения часто возникает зада- ча уточнения новых координат пикселей (на рис. 8.5 показаны серым) в целочисленной системе координат. Она решается путем округления координат пикселей до целых значений и двумерной интерполяции 74 значений яркости в неопределенных пикселях. Наиболее простой является интерполяция методом ближайшего соседа, где значения координат округляются до ближайших точек дискретного растра. Рис. 8.5. Несовпадение координат пикселей (выделены серым фоном) дискретной целочисленной системой координат Алгоритм ближайшего соседа присваивает неопределенному пикселю яркость ближайшего после геометрического преобразова- ния с неокругленными координатами. Методы увеличения изображений помимо «растяжения» пик- сельной сетки требуют интерполяционного вычисления яркости дополнительных пикселей. Эти методы можно разделить на две группы: с произвольным и двукратным увеличением (метод zoom). Отметим, что при уменьшении изображения его качество прак- тически не меняется при использовании разных методов интерпо- ляции, поэтому можно использовать простые методы. 8.4. Геометрическая коррекция изображений 8.4.1. Построение мозаики из изображений Как можно использовать геометрические преобразования? Рас- смотрим задачу построения мозаики из двух изображений. Мозаика или сшивка – это объединение двух или более изображений в еди- ное. Пусть два изображения получены путем сканирования по ча- стям одного большого рисунка (рис. 8.6). Обязательное условие: на обоих изображениях частично присутствуют одни и те же объекты, т. е. изображения имеют области перекрытия. 75 Рис. 8.6. Пример сканирования документа большого размера Системы координат двух изображений будут различаться из-за разного ракурса съемки, вращения камеры и движения самого фото- графируемого объекта. Для изображений, представленных на рис. 8.6, освещение, расстояние до камеры, оптика одинаковые, поэтому ос- новной задачей обработки таких изображений является приведение изображений в общую систему координат. Если изображения реги- стрировались в разное время, необходимо учесть изменения яркос- ти, возникающие из-за изменения освещения, сезонных и суточных изменений, использования другой камеры. Рассмотрим задачу нахождения такого пространственного пре- образования, которое позволяет преобразовать пиксели обоих изоб- ражений, представленных на рис. 8.7, в единую систему координат таким образом, чтобы точки, соответствующие одинаковым объек- там на двух изображениях, совпали. Для упрощения в качестве об- щей системы координат можно использовать систему левого изоб- ражения, тогда требуется найти преобразование координат всех пикселей второго изображения (x, y) в общую систему координат (x’, y’). Для упрощения задачи считаем, что в процессе регистрации не произошло искривление прямых линий, а лишь аффинные трансформации (поворот, сдвиг). Аффинные преобразования явля- ются подмножеством полиномиальных преобразований первого по- рядка и описываются двумя уравнениями: 76 0 1 2 0 1 2 ; . x a a x a y y b b x b y         (8.25) На обоих изображениях можно интерактивно выбрать или найти с помощью специальных методов пиксели, соответствующие оди- наковым объектам (рис. 8.7). Рис. 8.7. Соответствующие точки Обозначим через (xi, yi) координаты таких точек на правом изоб- ражении в системе координат этого изображения, (x'i, y'i) – коорди- наты в системе координат левого изображения. Эти координаты известны (точки заданы или вычислены), коэффициенты a0–a2, b0–b2 неизвестны. Для решения задачи вычисления коэффициентов a0–a2, b0–b2 аффинного преобразования минимальное количество общих точек n = 3. Если задать больше точек, то необходимо минимизиро- вать ошибки их задания, которые неизбежны в силу неточного за- дания и округления координат до целых значений. Итак, имеем 6 неизвестных, для их поиска требуются три пары точек с известными координатами до и после трансформации (x1, y1); (x2, y2); (x3, y3) и (x1', y1'); (x2', y2'); (x3', y3'). Подставив коор- динаты (x, y) в уравнение (8.25), получим три пары уравнений с неизвестными ai и bi: 77 1 0 1 1 2 1 2 0 1 2 2 2 3 0 1 3 2 3 , , , x a a x a y x a a x a y x a a x a y             1 0 1 1 2 1 2 0 1 2 2 2 3 0 1 3 2 3 , , . y b b x b y y b b x b y y b b x b y             (8.26) В матричной форме это выглядит следующим образом: 1 1 1 0 2 2 2 1 3 3 3 2 1 1 ; 1 x x y a x x y a x x y a                            (8.27) 1 1 1 0 2 2 2 1 3 3 3 2 1 1 . 1 y x y b y x y b y x y b                            Для вычисления коэффициентов ai и bi каждая часть матричного уравнения должна быть умножена на обратную матрицу с коэффи- циентами, например для ai: 1 1 11 1 1 1 1 1 0 2 2 2 2 2 2 2 1 3 3 3 3 3 3 23 1 1 1 1 1 1 . 1 1 1 xx y x y x y a x y x x y x y a x y x y x y ax                                            (8.28) В матричной форме коэффициенты вычисляются по формулам 1 10 1 1 1 2 2 2 2 3 3 3 1 1 ; 1 xa x y a x y x a x y x                         (8.29) . 1 1 1 3 2 1 1 33 22 11 2 1 0                              y y y yx yx yx b b b 78 Полученный набор коэффициентов подставляется в исходные уравнения (8.25), и новые координаты вычисляются для каждого пиксела второго изображения. Осталось определить, какую часть второго изображения необходимо «пришить» к первому. К полученному изображению можно «пришивать» справа и сни- зу другие изображения. Результирующее изображение представлено на рис. 8.8. Рис. 8.8. Пример мозаики из двух изображений При фотографировании больших объектов можно делать фото- графии по частям, а затем выполнить сшивку полученных изобра- жений. Пример обработки панорамных фотографий приведен на рис. 8.9. Таким же образом была создана панорама г. Праги из 2600 снимков. В результате получено изображение размером 260 000 × 130 000 пикселей. Если его распечатать с разрешением 150DPI, получится фотография длиной почти 40 м. 79 Рис. 8.9. Пример сшивки из двух фотографий одного объекта 8.4.2. Коррекция проективных искажений Проективное преобразование описывается уравнениями: 01 1 10 2 00 1 01 1 10 2 ; 1 a x a x au c x c x     (8.30) 01 1 10 2 00 2 01 1 10 2 , 1 b x b x bu c x c x     80 где x1 и x2 – точки идеального изображения, u1 и u2 – точки проективно искаженного изображения. При коррекции перспективных искажений исходное изображе- ние одно. На корректируемом изображении интерактивно задаются концы вертикальных и горизонтальных отрезков; посредством ре- шения системы линейных уравнений вычисляются неизвестные па- раметры bij и cij. Исходное изображение трансформируется так, что- бы отмеченные отрезки стали вертикальными и горизонтальными. Рис. 8.10. Пример перспективной коррекции изображения 8.5. Нелинейная геометрическая коррекция 8.5.1. Общий подход к вычислению параметров преобразования Не всегда задачу можно решить с помощью линейных преобра- зований. Нелинейные преобразования (второго и более порядка) помогают корректировать нелинейные искажения изображения, возникшие в процессе его регистрации (рис. 8.11). 81 Оригинал Возможные варианты выходного изображения при нелинейных преобразованиях Рис. 8.11. Примеры некоторых нелинейных преобразований Преобразования второго порядка могут быть использованы для преобразования данных из географической системы координат (широта, долгота) в прямоугольную, преобразования данных боль- ших областей (для учета кривизны Земли), точной привязки иска- женных по той или иной причине данных (например, из-за искаже- ний линз камеры, плохо отсканированных материалов) и т. д. Способ решения задачи трансформации аналогичен предыдуще- му и сводится к нахождению коэффициентов системы уравнений. В случае полиномиального преобразования 2-й степени система уравнений выглядит следующим образом: 2 2 0 1 2 3 4 5 2 2 0 1 2 3 4 5 ; , x a a x a y a x a xy a y y b b x b y b x b xy b y               (8.31) где x, y – координаты точек в одной системе координат (известны); x', y' – координаты этих точек в другой системе координат (известны); a0–a5, b0–b5 – коэффициенты преобразования (неизвестны). В данном случае минимально необходимо знать координаты ше- сти пар соответствующих точек до и после трансформации (x1, y1); (x2, y2); (x3, y3); (x4, y4); (x5, y5); (x6, y6) и (x1', y1'); (x2', y2'); (x3', y3'); (x4', y4'); (x5', y5'); (x6', y6'). Подставим их в (8.31), перегруппируем и вычислим 12 неизвест- ных ai и bi: 2 2 1 0 1 1 2 1 3 1 4 1 1 5 1 2 2 6 0 1 6 2 6 3 6 4 6 6 5 6 ; ... ; x a a x a y a x a x y a y x a a x a y a x a x y a y               (8.32) 82 2 2 1 0 1 1 2 1 3 1 4 1 1 5 1 2 2 6 0 1 6 2 6 3 6 4 6 6 5 6 ; ... . y b b x b y b x b x y b y y b b x b y b x b x y b y               (8.33) Запишем эти уравнения для поиска ai в матричной форме: 2 2 1 1 1 1 1 1 11 2 2 66 6 6 6 6 6 6 1 .. .. .. ... .. .. .... .. .. .. .. .. .. .... . .. .. .. .. .. .. .... .. .. .. .. .. .. .... 1 x y x x y y ax ax x y x x y y                                            (8.34) В матричной форме коэффициенты a0–a5, b0–b5 вычисляются по формулам 12 2 1 1 1 1 1 1 1 1 2 26 66 6 6 6 6 6 1 .. .. .. .. ... .. .. .. .. .. .. .. .. .. .. .. ; .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1 a x y x x y y x a xx y x x y y                                                   (8.35) 12 2 1 1 1 1 1 1 1 1 2 26 66 6 6 6 6 6 1 .. .. .. .. ... .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1 b x y x x y y y b yx y x x y y                                                   83 Полученный набор коэффициентов подставляется в исходные уравнения (8.31) для пересчета координат всех пикселей. Сначала нужно определить размер нового изображения, найдя минимум и мак- симум координат углов исходных изображений в единой системе ко- ординат. Как правило, пиксели левого изображения переносятся с теми же координатами, а правого – с учетом уравнений (8.31), т. е. новые координаты вычисляются для каждого пиксела второго изображения. Преобразования более высоких порядков могут быть использо- ваны для корректировки более сложных типов искажений, напри- мер при сшивке снятых с самолета изображений горной местности. Для вычисления параметров преобразований высших порядков требуется большее количество контрольных точек. Минимальное количество пар соответствующих точек для преобразования t-го порядка вычисляется по формуле    1 2 . 2 t t  (8.36) 8.5.2. Коррекция дисторсии При фотографировании на изображении может возникнуть опти- ческое искривление, которое называется дисторсия. Дисторсия – это аберрация оптических систем, при которой ли- нейное увеличение изменяется по полю зрения. Световые лучи про- ходят через центр линзы и сходятся в точке, расположенной дальше от линзы, чем лучи, которые проходят через ее края (рис. 8.12). Рис. 8.12. Порождение дисторсии оптическими искажениями 84 Дисторсия не нарушает резкость и яркость изображения, но вно- сит искажение в его форму. Прямые линии изображаются кривыми, кроме тех, которые лежат в одной плоскости с оптической осью. Например, изображение квадрата, центр которого пересекает опти- ческая ось, имеет вид подушки (подушкообразная дисторсия) при положительной дисторсии у широкоугольных объективов при съемке на максимальном фокусном расстоянии и вид бочки (бочко- образная дисторсия) при отрицательной дисторсии при съемке те- леобъективом на минимальном фокусном расстоянии (рис. 8.13). Это наиболее распространенные варианты дисторсии оптических систем фотоаппаратов с осевой симметрией. Рис. 8.13. Основные варианты дисторсии фотообъективов Дисторсия объектива может быть скорректирована оптически за счет особой конструкции объектива, использования асферических линз либо программно. Как правило, такая дисторсия имеет осевую симметрию, это значит, что горизонтальная и вертикальная оси, проходящие через центр изображения, не искажены. Если искривление присутствует в цифровом изображении, его программно можно исправить методом, описанным ниже. Будем считать, что центр системы координат находится в центре изображения. Пусть ( , )r y z – вектор, задающий две координаты в плоскости, расположенной перпендикулярно оптической оси (ко- ордината x вдоль оси сюда не входит). 85 Для идеального изображения все лучи, вышедшие из точки с коор- динатами r и прошедшие через оптическую систему, попадут в точку изображения с координатами R  , которые определяются по формуле 0 ,R b r   (8.37) где 0b – коэффициент линейного увеличения. Если присутствует дисторсия третьего порядка (для осесиммет- ричных оптических систем бывает только нечетных порядков: треть- его, пятого, седьмого и т. д.), тогда лучи из r попадут в 20 3 ,R b r F r r     (8.38) где r – длина r , F3 – дисторсия третьего порядка, которая обычно вносит наибольший вклад в искажение формы; если F3 имеет тот же знак, то и b0, возникает «подушка», в про- тивном случае – «бочка». Для вычисления параметров корректирующего преобразования используют, например, изображение регулярной сетки и ее искрив- ленные изображения (рис. 8.14). На них выбирают пары соответ- ствующих точек, по координатам которых вычисляются неизвест- ные коэффициенты b0 и F3. Рис. 8.14. Изображение сетки без искажений (слева) и ее фотография мобильным телефоном Nokia 6103 (справа) с соответствующими точками 86 Этим же преобразованием изменен рис. 8.15. Рис. 8.15. Примеры двух видов дисторсии и исправленное изображение 87 Глава 9. ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЙ ТОЧЕЧНОГО ТИПА 9.1. Логические операции над изображениями Яркость бинарных изображений задается 0 и 1. Эти изображения можно интерпретировать как множество черных пикселей на белом фоне. К ним можно применять операции теории множеств AND, OR, NOT, XOR (рис. 9.1). Пусть L1 и L2 – значения яркости двух би- нарных изображений равных размеров. Операции применяются к пикселям с одинаковыми координатами. Рис. 9.1. Примеры логических операций над бинарными изображениями Табл. 9.1 показывает, как изменяются исходные яркости при применении этих логических операций. 88 Таблица 9.1 Результаты логических операций L1 L2 L1 AND L2 L1 OR L2 NOT L1 L1 XOR L2 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 0 0 9.2. Линейные преобразования яркости полутоновых изображений Яркостными преобразованиями изображения называются преоб- разования двумерных функций яркости, описываемые формулой I′(i, j) = f(I(i, j)) Преобразования яркости изображения относятся к точечному ти- пу, если значение яркости пикселя после преобразования зависит от яркости одной точки (пикселя) исходного изображения и не зависит от ее местоположения. Пусть x = I(i, j) – функция яркости исходного изображения, y = J(i, j) – функция яркости преобразованного изобра- жения. Поэлементная обработка означает, что изменение яркости можно описать функцией y = f(x) независимо от координат пикселя. 9.2.1. Препарирование изображений С помощью яркостного среза изображения можно выделить об- ласти изображения с яркостью из определенного интервала. При этом остальным областям можно присвоить черный цвет и полу- чить бинарное изображение (рис. 9.2, а) или оставить неизменными (рис. 9.2, б). Перемещая, выделенный интервал по яркостной шкале, и изменяя его ширину, можно детально исследовать содержание картины. 89 а б Рис. 9.2. Варианты графического задания функции яркостного среза Преобразование выполняет яркостные срезы, выделяя на изоб- ражении области определенной яркости. При этом остальные участки яркости либо показаны черным (яркость 0, вариант а), либо линейно контрастируются. Перемещая выделенный интервал по шкале яркости и изменяя его ширину, можно детально исследовать содержание картины. Такие преобразования используются, если интересующие интервалы яркости можно определить (вычислить или задать интерактивно). Аналитически функция среза для (а) задается следующим образом: 1 2255, если ; 0, иначе. T x T y    (9.1) Пилообразное контрастирование – это линейное контрастирова- ние, применяемое к отдельному диапазону (или диапазонам) яркос- ти (рис. 9.3). Оно также позволяет повысить детальность изображе- ния в выбранном интервале яркости. Рис. 9.3. Пилообразные варианты яркостного среза T1 T2 90 9.2.2. Бинаризация изображений Простейшим методом препарирования изображений является бинаризация. Она преобразует полутоновое изображение в бинар- ное (черно-белое). Преобразование имеет единственный параметр – порог, относительно которого яркость пикселей меняется на черную или белую. Функция бинаризации с глобальным (т. е. единым для всех пикселей) порогом представлена на рис. 9.4. Это преобразова- ние используют при выделении темных объектов на светлом фоне или наоборот (рис. 9.5). Рис. 9.4. Функция бинаризации с глобальным порогом Рис. 9.5. Пример бинаризации изображения Опишем три варианта вычисления порога. Наиболее простой способ вычисления порога заключается в нахождении минимального gmin и максимального значения gmax яркости изображения и нахождении среднего значения между ними: t = (gmax – gmin) / 2. (9.2) 91 Метод Отсу использует гистограмму распределения значений яркости изображения и ищет оптимальный порог t, разделяющий два класса пикселей (темные и светлые), уменьшающий внутри- классовую дисперсию, которая определяется как взвешенная сумма дисперсий двух классов: 2 2 2 1 1 2 2( ) ( ) ( ) ( ) ( ),t t t t t      (9.3) где веса ωi – вероятности двух классов, разделенных порогом t; σ2i – дисперсия этих классов. Минимизация дисперсии внутри класса равносильна максимиза- ции дисперсии между классами, которая выражается вероятностью ωi среднего арифметического i-го класса μi:  22 2 2 1 2 1 2( ) ( ) ( ) ( ) ( ) ( ) ,b t t t t t t         (9.4) где σ2 – дисперсия всего изображения. Алгоритм вычисления порога по методу Отсу Шаг 1. Вычислить гистограмму яркостей и вероятность для каж- дого уровня интенсивности pi = ni / N, где N – число пикселей в изображении, ni – число пикселей с уровнем яркости i. Диапазон яркостей делится на два класса порогом k, где k – це- лое значение от 0 до L (обычно L = 255). Шаг 2. Вычислить начальные значения для ωi(0) и μi(0). 0 1 ( ) ; k i i k p     1 0 1 ( ) 1 ( ); L i i k k p k        (9.5) 0 01 ( ) ; k i i ipk     1 11 ( ) . L i i k ipk      92 Шаг 3. Для каждого значения порога от t = 1 до максимальной яркости (равной 255): 1) обновить i и ;i 2) вычислить σ2b(t); 3) если σb(t) больше, чем имеющееся, запомнить σb и значение порога t. Шаг 4. Оптимальный порог t соответствует максимуму σ2b(t). Алгоритм вычисления порога на основе градиента яркости изображения состоит из следующих шагов: Шаг 1. Вычислить модуль градиента яркости для каждого пик- селя изображения f:  ( , ) max ( , ) , ( , ) ,m nG m n G m n G m n (9.6) где ( , ) ( 1, ) ( 1, ); ( , ) ( , 1) ( , 1). m n G m n f m n f m n G m n f m n f m n         (9.7) Шаг 2. Вычислить значение порога t: 1 1 0 0 1 1 0 0 ( , ) ( , ) . ( , ) M N m n M N m n f m n G m n t G m n              (9.8) 9.2.3. Линейное растяжение гистограммы изображений Задача линейного растяжения гистограммы связана с улучшени- ем согласования динамического диапазона изображения и экрана, на котором выполняется визуализация. Если для цифрового пред- ставления каждого пикселя изображения отводится 1 байт (8 бит) запоминающего устройства, то входное или выходное изображения могут принимать одно из 256 значений. Чаще всего для отображе- ния используется диапазон от 0 до 255. Пусть минимальная и мак- симальная яркости исходного изображения равны xmin и xmax соот- ветственно. Если xmin >> 0 и xmax << 255, т. е. динамический диапа- зон узок, изображение выглядит серым, малоконтрастным. 93 При линейном растяжении гистограммы изображений использу- ется преобразование яркости типа y = a∙x + b, (9.9) где a и b определяются желаемыми значениями минимальной и максимальной яркости результирующего изображения, обычно 0 и 255. С учетом этого преобразование яркости принимает вид min max min min max min ( ) . x xy y y y x x    (9.10) Функция и пример линейного растяжения гистограммы изоб- ражения представлены на рис. 9.6 и 9.7 соответственно Рис. 9.6. Функция линейного контрастирования изображения а б Рис. 9.7. Пример линейного растяжения гистограммы светлого изображения с диапазоном яркостей: а – xmin = 180, б – xmax = 240 94 Частным случаем линейного изменения гистограммы является преобразование изображения в негативное представление: y = 255 – x. (9.11) Контрастирование можно выполнить кусочно-линейно. Пусть заданы 1 2 ... nx x x   – границы диапазонов изменения яркости (рис. 9.8). Рис. 9.8. Графическое представление функции кусочно-линейного контрастирования изображения Тогда кусочно-линейная функция изменения яркости имеет вид 0 0 1 1 1 1 2 , ; , ; ... , .n n n a x b x x a x b x x x y a x b x x         (9.12) 9.3. Арифметические операции над изображениями Арифметические преобразования изображений относятся к то- чечному типу. Умножение изображения на константу ( , ) ( , ),y i j ax i j (9.13) где a > 0 – константа. x y x1 x2 xn 95 Если у(i, j) > 255, заменить на у = 255. Изменение яркости на константу с ( , ) ( , ) .z i j x i j c  (9.14) Сложение (вычитание) равных изображений (рис. 9.9): ( , ) ( , ) (1 ) ( , ),z i j ax i j a y i j   (9.15) где x, y, z – цифровые изображения одного размера; 0 < a < 1 – константа. а Б В Рис. 9.9. Пример сложения изображений: а, б – исходные изображения; в – результат сложения двух исходных изображений Пространственное маскирование изображения (рис. 9.10) ( , ) ( , ) ( , ),y i j a i j x i j (9.16) где a(i, j) – матрица из нулей и единиц такого же размера, как изоб- ражение x. Операция представляет собой поэлементное произведение двух матриц. 96 Рис. 9.10. Пример маскирования изображений 9.4. Нелинейная коррекция яркости изображений 9.4.1. Гамма-коррекция Гамма-коррекция – это операция коррекции яркости изображе- ния (I), используемая для демонстрации изображений на мониторах с нелинейной яркостной характеристикой. Обычно используется степенная функция в виде: .I cI  (9.17) Исторически введение гамма-коррекции было обусловлено тем, что у электронно-лучевой трубки зависимость между количеством испускаемых фотонов и напряжением на катоде близка к степенной формуле. В результате это вошло в стандарт и для жидкокристалли- ческих мониторов, где зависимость между напряжением и яркостью имеет более сложный характер. Стандартное значение параметра «гамма» для видеоизображений NTSC равно 2,2. Для большинства мониторов значение гаммы составляет от 1,8 до 2,4. При обработке цифровых изображений с диапазоном яркости от 0 до 255 это преобразование выполняется по формуле 255( 255) .I I  (9.18) Если изображение выглядит темным или блеклым, гамма- коррекция используется для исправления этих недостатков. 97 9.4.2. Логарифмическое преобразование яркости Аналогично выполняется логарифмическое изменение яркости (с – задаваемая константа): log( 1).I c I  (9.19) 9.4.3. Соляризация изображений Преобразование, называемое соляризацией изображения, изме- няет яркость с помощью параболической функции max( ),y kx x x  (9.20) где k – константа, управляющая динамическим диапазоном преоб- разованного изображения; xmax – максимальное значение яркости исходного изображения (обычно 255). Функция преобразования является квадратичной параболой, ее график при k = 1 приведен на рис. 9.11. Рис. 9.11. Функции изменения яркости типа «соляризация» Смысл преобразования состоит в том, что участки исходного изображения, имеющие яркость, близкую к белому цвету, после об- работки принимают значения ближе к черному. При этом темные участки остаются темными. Значения, близкие к белому, приобрета- ют участки, изначально имевшие средние уровни яркости (рис. 9.12). 98 а б Рис. 9.12. Пример применения соляризации изображения На рис. 9.12, а показано исходное изображение и результат его соляризации, рис. 9.12, б. Преобразование повышает четкость тем- ных и светлых областей: улучшено изображение глаз, повышен контраст на переходе «лицо-волосы». 9.4.4. Приведение среднего к заданному значению Рассмотрим алгоритм коррекции яркости путем приведения среднего значения яркости к заданному значению (рис. 9.13). Пусть Lij – яркость пикселя с координатами ij. Шаг 1. Задать требуемое значение средней яркости K. Шаг 2. Вычислить минимальное Lmin, максимальное Lmax и сред- неарифметическое значение яркости исходного изображения (Aυ): , mean( ) .ij i j A L L  (9.21) Шаг 3. Определить параметры преобразования значений яркости так, чтобы значение средней яркости стало равным K. Для этого, изменив значения яркости всех пикселей изображения , ( ),ij i j K F L (9.22) например, нелинейно: 99 min max min ( ) ,ijij L L F L L L      (9.23) получим min , , max min ( ) .ijij i j i j L L K F L L L        (9.24) Исходное изображение Средняя яркость 119 K = f(α) Средняя яркость 177 K = 77 при α = 1,85 Рис. 9.13. Преобразование к заданному значению средней яркости Подобрать значение α такое, чтобы среднеарифметическое зна- чение яркости пикселей изображения стало равно заданному K. Шаг 4. Выполнить преобразование яркости всех пикселей ис- ходного изображения по формуле (9.23). 0 0.5 1 1.5 2 2.5 30.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 100 9.4.5. Табличный метод изменения яркости В преобразованиях точечного типа яркость пикселя меняется по некоторой формуле для всех пикселей большого изображения. Пусть размер изображения равен N × N, где N >> 256. При нелиней- ных изменениях объем вычислений может оказаться значительным. То есть если в функции изменения яркости f(x) используются умножение, деление, расчеты тригонометрических выражений, сте- пенных и других функций, потребуется N2 раз вычислить значения яркости пикселей. От этих недостатков избавлен табличный метод замены яркости (LookUp Table или LUT). Его суть состоит в том, что предваритель- но, путем вычисления функции изменения яркости f(x), создается таблица новых значений y = f(x) (вида табл. 9.2). Затем яркость ме- няется в соответствии с этой таблицей, при этом x – исходная яр- кость, y – новое значение яркости. Таблица 9.2 Табличное представление функции y = f(x) x x1 x2 … xn–1 xn y = f(x) y1 y2 … yn–1 yn Если исходное изображение имеет диапазон яркостей [0, ..., 255], то таблица LUT состоит из 256 элементов. Например, для преобра- зования соляризации по формуле y = 4x(255 – x)/255 таблица опи- сывается одномерным массивом: 0, 4, 8, 12, 16, 20, 23, 27, …, 198, 199, 201, 203, …, 254, 255, 255, 255, …, 12, 8, 4, 0. Изменения яркости вычисляются по формуле y = f(x) 256 раз, а если яркость вычислять для каждого пикселя, потребуется N2 вы- числений, где N может равняться нескольким тысячам. Поэтому табличное изменение яркости является очень быстрым. 101 9.4.6. Интерактивное изменение функции яркости изображения Рассмотрим преобразование яркости, которое реализовано в па- кете «Фотошоп» (функция «кривые»). Изначально график измене- ния яркости описывается тождественной функцией y = x, где x – яркость исходного, y – результирующего изображения (рис. 9.14). Значения x и y изменяются в диапазоне от 0 до 255. Рис. 9.14. Исходный график функции изменения яркости Интерактивно изменяем положение некоторой точки этого гра- фика, например (x1, y1), где x1 = y1, на новое с координатами (x11, y11), при этом x11 ≠ y11. Кривая, задающая функцию изменения яркости, проходит через точки P0, P1, Pn (рис. 9.15), где n = 2, P0 = (0,0), P1 = (x11, y11), Pn = (255, 255). При n = 2 это кривая второго порядка. Рис. 9.15. Параболическая функция изменения яркости 0 x 255 255 y = x P0 x 255 255 y P1 = (x11,y11) Pn = 2 102 Можно изменить форму графика, задав еще одну точку P2 = (x22, y22) (рис. 9.16). Рис. 9.16. Функция изменения яркости третьего порядка Кривая должна проходить через конечные P0 = (0, 0), Pn = (255, 255) и заданные точки P1, P2. Как вычислить параметры функции, заданной этой кривой? Кривая описывается полиномом степени, на 1 большей числа за- данных (промежуточных) точек, в данном примере степени n = 3: .... 1 1 10 yaxaxaxa nn nn   (9.25) Из того что P0 = (0,0), уравнение (9.3) превращается в an = 0. Остальные ai неизвестны, их количество равно n. Чтобы найти ai, в уравнение (9.25) нужно подставить координаты точек Pi = (xi, yi). Получим систему из n линейных уравнений с неизвестными ai: 1 0 1 1 1 1 1 1 1 0 2 1 2 1 2 2 1 0 1 1 1 1 1 1 1 0 1 1 ... ; ... ; ... ... ; 255 255 ... 255 255. n n n n n n n n n n n n n n n n a x a x a x y a x a x a x y a x a x a x y a a a                            (9.26) В матричном виде эта система записывается как ,XA Y (9.27) P0 x 255 255 y P1 Pn = 3 P2 103 где X – квадратная матрица констант; A = (a1, a2, …, an-1) – вектор-столбец неизвестных; Y = (y1, y2, …, yn-1) – вектор-столбец констант: 1 1 1 1 1 2 2 2 1 1 1 1 1 ... ... ... . ... ... 255255 255 n n n n n n n n n n n x x x x x x X x x x                  (9.28) Система имеет решение, если ее определитель не равен нулю. Это условие выполняется, если все точки Pi имеют разные координаты. Тогда неизвестные ai находим, вычислив обратную к X матрицу Х–1: 1 .A X Y (9.29) Вычислив коэффициенты ai, подставляем их в уравнение (2.28) и строим таблицу LUT для всех 0 ≤ x ≤ 255. Получим новые значения яркости y. Если y < 0, коэффициенты заменяем на 0. Если y > 255, коэффициенты заменяем на 255. LUT готова. Согласно полученной таблице заменяем все значения яркости в исходном изображении. 9.5. Преобразования яркости на базе гистограммы изображения Гистограмма – это график распределения яркостей полутонового изображения. Пусть L – максимально возможное значение яркости (обычно 255). Вычислить гистограмму означает построить массив H размером в 256 элементов, значения которых равны количеству пиксе- лей с яркостью, равной номеру элемента H(i), т. е. i. Вычисления вы- полняются проходом по всем пикселям изображения и добавлением единицы к значению соответствующего элемента массива H. В гистограмме типичного изображения яркость пикселей рас- пределена неравномерно (рис. 9.17). В результате часто на темных участках изображений детали оказываются плохо различимыми. 104 а б Рис. 9.17. Пример изображения (а) и его гистограммы (б) Разработан ряд методов улучшения таких изображений на базе изменения гистограммы. Наиболее простым методом является эк- вализация (выравнивание) гистограммы. Это преобразование стремится изменить распределение яркостей изображения сделав график гистограммы максимально близким к горизонтальной линии (рис. 9.18). а б Рис. 9.18. Пример выравнивания гистограммы изображения, представленного на рис. 9.17: а – преобразованное изображение; б – его гистограмма 0 127 255 2000 1800 1600 1400 1200 1000 800 600 400 200 0 0 127 255 2000 1800 1600 1400 1200 1000 800 600 400 200 0 105 Алгоритм эквализации (выравнивания) гистограммы состо- ит из следующих шагов. Шаг 1. Вычислить гистограмму исходного изображения f(x, y), записать ее в массив H. Шаг 2. Массив H нормализовать так, чтобы сумма всех элемен- тов равнялась 255. Шаг 3. Вычислить кумулятивную гистограмму 0 sum( ) ( ). i i H j  (9.30) Шаг 4. Вычислить новые значения яркости по формуле ( , ) sum( ( , )).g x y f x y (9.31) На рис. 9.18 показан результат выравнивания гистограммы изоб- ражения. Если изображение имеет много темных участков и малое число участков с высокой яркостью или наоборот, то выравнивание гистограммы корректирует яркость изображения, ровняя инте- гральные площади участков с различными яркостями. Преобразования гистограммы могут быть и нелинейными, например, приближенные к кривой любой формы (рис. 9.19), полу- ченные по алгоритму, который будет описан ниже. 106 Исходное изображение Гистограмма исходного изображения Результирующие изображение Гистограмма преобразованного изображения Рис. 9.19. Приведение гистограммы к распределению яркостей по нормальному закону (по функции Гаусса) Алгоритм нелинейного преобразования гистограммы Шаг 1. Вычислить гистограмму hx исходного изображения и его кумулятивную гистограмму Hx, после чего функция выравнивания этой гистограммы примет вид 0 [ ] [ ]. j x x i H j h i    (9.32) Шаг 2. Определить желаемую гистограмму hz и ее кумулятивную гистограмму Hz, тогда функция выравнивания этой гистограммы имеет вид 107 0 [ ] [ ]. j z z i H j h i    (9.33) Шаг 3. Построить таблицу LUT преобразования яркостей. В цикле по i для всех 0 ≤ i ≤ 255 выполнить j = i: если Hx[i] ≤ Hz[j], тогда LUT[i] = j, иначе пока Hx[i] > Hz[j], увеличить j = j + 1; если [ ] [ ] [ ] [ 1],x z x zH i H j H i H j    то уменьшить j = j – 1; иначе LUT[i] = j. 9.6. Локально-адаптивная обработка изображений Среднюю яркость изображения можно скорректировать глобаль- но: увеличив ее затемненные участки, изображения можно сделать более светлыми, а уменьшив – светлые участки изображения затем- нить. Однако если на изображении присутствуют и темные, и свет- лые области, глобальная коррекция ухудшит визуальное восприятие изображения. Статистические характеристики, необходимые для работы алгоритмов обработки изображений, оцениваются по самим изображениям. Если характеристики не меняются по всему изобра- жению, можно применять алгоритмы обработки с фиксированными параметрами, т. е. применять глобальную обработку. Однако во многих случаях яркость, контраст, освещение, фон неоднородны. Поэтому глобальные методы обработки не дают желаемый резуль- тат. В таких случаях используются адаптивные, т. е. подстраивае- мые под локальные характеристики изображения. Простейший подход к построению адаптивных алгоритмов за- ключается в разбиении изображения на небольшие непересекающи- еся фрагменты, в них вычисляются характеристики и каждый фраг- мент обрабатывается как отдельное изображение. Достоинство та- кого подхода – простота; недостаток – плохая стыковка объектов на границах фрагментов, скачки яркости. Чтобы снизить нежелательные эффекты на краях, оценки ло- кальных характеристик вычисляют в пересекающихся фрагментах. В предельном случае эти оценки вычисляются и используются для коррекции единственного пикселя в центре фрагмента. Это обра- ботка методом «скользящего окна», центр которого проходит все пиксели исходного изображения. 108 Рассмотрим особенности адаптивных алгоритмов применитель- но к преобразованиям точечного типа. 9.6.1. Адаптивное повышение контраста Операция аналогична линейному контрастированию, но коэф- фициенты меняются в зависимости от значений пикселей, попав- ших в скользящее окно: ( 1, 2) ( 1, 2) ( 1, 2) ( 1, 2) ( 1, 2),fg n n a n n f n n n n a n n    (9.34) где ( 1, 2) ; ( 1, 2)f a n n n n   (9.35) ( 1, 2),f n n ( 1, 2)f n n – локальное среднее и дисперсия, µ и σ – глобальное среднее и дисперсия. Если в окне изменение яркости мало, ( 1, 2)f n n тоже мало, по- этому значения яркости больше растягиваются внутри окна. По этой же причине растягивается яркость в темных участках изобра- жения (рис. 9.20). а б в Рис. 9.20. Исходное изображение (а), локальное усиление контраста исходного изображения (б), глобальное усиление контраста исходного изображения (в) Еще один вариант адаптивного контрастирования исходного изоб- ражения Lin при вычислении интенсивности нового изображения Lout осуществляется следующей операцией для каждого пикселя (i, j): 109 out in local local( , ) [ ( , ) ( , )] ,( , ) LL i j k L i j L i j L i j    (9.36) где L – среднее значение яркости всего изображения Lin; ( , )i j – среднеквадратическое отклонение яркости в локальной окрестности изображения в пикселе с координатами (i, j); local( , )L i j – среднее значение яркости в окрестности с центром в пикселе (i, j); k – некоторая константа: 0 < k < 1. Отметим, что значения параметров σ и localL зависят от разме- ров и формы окрестности пикселя local( , )L i j , что делает этот метод адаптивным. Локальные изменения увеличиваются за счет умноже- ния разности между значением яркости пикселя исходного изобра- жения Lin(i, j) и локальным средним local( , )L i j на . ( , ) Lk i j Среднеквадратическое отклонение будет меньше в малоконт- растных окрестностях и больше в окрестностях с более высоким контрастом, поэтому участки с низким контрастом будут иметь большее усиление, чем участки с большим контрастом. Целесооб- разно ограничивать диапазон значений множителя ( , ) Lk i j во из- бежание больших отклонений интенсивностей на отдельных участ- ках. На рис. 9.21 представлены результаты адаптивного повышения контраста по формуле (9.36). Уменьшение размера локального окна m приводит к увеличению детальности обработки. Уменьшение ко- эффициента k приводит к устранению резких перепадов на изобра- жении и понижению его контрастности. Таким образом, используя различные значения параметров m и k, можно управлять уровнем контрастности и детальности обработки изображений. 110 Исходное изображение Результирующее изображение при k = 0,7, m = 35 Результирующее изображение при k = 0,3, m = 35 Рис. 9.21. Результаты обработки исходного изображения, полученные с использованием формулы (9.4); m – размер локального окна 9.6.2. Адаптивное преобразование гистограммы Аналогично адаптивному повышению контраста можно выполнить адаптивное преобразование гистограммы. Оно выполняется так же, как стандартное (глобальное) преобразование гистограммы, но приме- няется локально, т. е. к фрагментам изображения. Например, выравни- вание гистограммы можно выполнить в скользящем окне (рис. 9.22). Основной недостаток адаптивных методов обработки – увеличе- ние объема вычислений. Для уменьшения вычислений используют рекурсивные процедуры коррекции статистических характеристик текущего фрагмента при вычислении характеристик соседнего фрагмента. Например, если фрагмент имеет форму прямоугольника и в нем вычислена гистограмма яркостей, при сдвиге вправо на один пиксель локальная гистограмма корректируется путем вычи- тания вклада пикселей, образующих левый столбец текущего фраг- мента, и добавлением пикселей, образующих правый столбец со- седнего фрагмента. 111 а б в Рис. 9.22. Исходное изображение (а); после глобального выравнивания гистограммы (б); после адаптивного выравнивания гистограммы компоненты L в пространстве Lab фрагментами 8 × 8 (в) 112 Глава 10. ПРЕОБРАЗОВАНИЯ ЛОКАЛЬНОГО ТИПА Цифровые изображения, сформированные различными оптико- электронными системами и зарегистрированные разными приемни- ками, искажаются действием помех различного характера. Искажения изображения вносятся всеми компонентами изображающего прибора, начиная с осветительной системы (например, неравномерность осве- щенности предмета). Искажения, которые вносит оптическая система, называются аберрации. Искажения, которые вносят электронные при- емники излучения, например ПЗС-матрицы, называются электрон- ным шумом. Все помехи, вносимые в цифровое изображение, принято называть шумом. Шум затрудняет и визуальный анализ изображений человеком, и их автоматическую обработку. Многие методы улучшения изображений уменьшают влияние шума, внесенного в процессе формирования цифрового изображения. 10.1. Типы шумов Шум, появляющийся на изображениях, может быть классифици- рован различными способами. Он может быть коррелированным или некоррелированным, зависящим или не зависящим от самого регистрируемого сигнала и т. д. Знания относительно системы по- лучения изображений, визуальный анализ зашумленного изображе- ния помогают в построении модели шума и оценке его статистиче- ских характеристик. Математически определенная модель шума помогает построить оптимальную для данного приложения систему улучшения изображений. Рассмотрим наиболее часто используемые модели шумов на изображениях. 10.1.1. Импульсный шум Под импульсным шумом понимается искажение сигнала импуль- сами, т. е. выбросами с очень большими положительными или от- рицательными значениями и малой длительностью. При обработке изображений импульсный шум возникает, например, вследствие ошибок декодирования, которые приводят к появлению черных и белых точек на изображении. Поэтому его часто называют точеч- 113 ным шумом. Выбросы шума особенно заметны на очень темных или очень светлых участках изображений. Импульсный шум моделируется следующим образом. Появление выброса шума в каждом пикселе (i, j) изображения имеет вероят- ность p и не зависит ни от наличия шума в других точках изображе- ния, ни от исходного изображения. Значение яркости пикселя заме- няется на новое значение d (от 0 до 255). Пусть {xi,j} – искаженное изображение. Тогда , , с вероятностью ; cвероятностью (1 ),i j i j d p x s p    (10.1) где si,j – значения яркости исходного изображения. Если новое значение d = 0, вносятся черные значения яркости, это шум типа «перец». Если d = 255, вносятся белые значения яркости, это шум типа «соль». Параметр d может также принимать случайные значения. Пред- полагается, что они являются независимыми случайными величи- нами с гауссовым распределением на интервале [0, 255]. Удаление такого шума представляет более сложную задачу. 10.1.2. Аддитивный шум Индивидуальный шум описывается соотношением g(x, y) = f (x, y) + η(x, y), (10.2) где g(x, y) – зашумленное изображение; f (x, y) – исходное изображение; η (x, y) – аддитивный и не зависящий от сигнала шум с гауссо- вым (или другим) распределением функции плотности вероятности. Гауссов шум (также называемый нормальный шум) возникает на изображении в результате возникновения таких факторов, как шум в электрических цепях, шум сенсоров, – из-за недостатка освещения и/или высокой температуры. Модель этого шума широко применяется при фильтрации изображений и сигналов, поскольку она предполага- ет независимость и нулевое математическое ожидание помех. 114 Функция плотности распределения вероятностей гауссовой слу- чайной величины z (рис. 10.1) задается следующим выражением: 2 2( ) /21( ) , 2 zp z e    (10.3) где z определяет уровень яркости из всех возможных значений для изображения (например, для восьмибитового изображения 0 ≤ z ≤ 255); μ – среднее значение (математическое ожидание) случайной ве- личины z; σ – среднеквадратическое отклонение. Величина, равная квадрату среднеквадратического отклонения, называется дисперсией σ2 и определяет мощность вносимого шума. Рис. 10.1. Функция плотности распределения вероятностей гауссовой случайной величины z, имеющая форму колокола Таким образом, p(z) определяет вероятность того, что значение текущего отсчета шума будет иметь яркость, равную z. Если слу- чайная величина z описывается функцией Гаусса, то приблизитель- но 67 % ее значений сосредоточено в диапазоне [(μ − σ), (μ + σ)] и около 96 % – в диапазоне [(μ − 2σ), (μ + 2σ)]. 115 10.1.3. Мультипликативный шум Мультипликативный шум описывается соотношением g(x, y) = f (x, y) η(x, y), (10.4) т. е. шумовая составляющая умножает принятый сигнал. Примера- ми такого шума являются: зернистость фотопленки; изображения, полученные с помощью ультразвука; радиолокационные изображения. 10.1.4. Шум квантования Шум квантования зависит от сигнала и характеризуется выбран- ным шагом квантования значений сигнала. Например, в результате бинаризации яркость изображения описывается двумя значениями: черный и белый. Такой шум может производить нежелательные артефакты (например, ложные контуры вокруг объектов) или устранять низко- контрастные детали на изображении. Он не устраняется. 10.1.5. Спекл-шум Спекл-шум (как и во всех сканирующих системах с когерентным формированием изображения) вызван энергетическими помехами из-за беспорядочно распределенных отражателей сигнала, слишком мелких для того, чтобы их могла отобразить система. Это класс шумов, зависящих от самого сигнала изображения. Для объектов с низким разрешением он обычно является мультипликативным. Спекл-шум возникает при получении цифровых изображений с по- мощью ультразвуковых медицинских сканеров, оптических сканеров и радаров. В результате изображение выглядит «зернистым». 10.2. Фильтрация изображений Ослабление помех достигается фильтрацией изображения. Изоб- ражение описывается двумерной функцией, значения которой из- 116 меняются медленнее, чем двумерной функции, описывающей шум. Многообразие методов фильтрации изображений связано с разно- образием математических моделей сигналов, помех и критериев оптимальности фильтрации. Фильтрация изображений производит- ся в пространственной или частотной областях. Для фильтрации в частотной области изображение должно быть преобразовано в частотное представление с помощью, например, преобразования Фурье, которое относится к преобразованиям глобального типа. Методы фильтрации можно разделить на два класса: линейные и нелинейные. Рассмотрим основные методы улучшения изображений в про- странственной области на примере полутоновых изображений. При оценке полезного сигнала в каждом пикселе рассматривают окрестность этого пикселя и значения яркости в этой окрестности. Преобразования, которые для вычисления значения яркости од- ного пикселя учитывают значения пикселей в некоторой окрестнос- ти называются локальными. Окрестность называют также окном. Форма и размеры окна могут быть произвольными, положение цент- ра окна также может быть любым. Часто в операциях используются значения некоторой матрицы, имеющей те же размеры, что и окрестность. Такую матрицу назы- вают маской, фильтром, ядром фильтра. Значения элементов мат- рицы называют коэффициентами. При линейной фильтрации изображений форма и размер исполь- зуемой окрестности определяют маску фильтра. Маска – это мат- рица весовых коэффициентов, определенных для пикселей, попав- ших в окрестности анализируемого пикселя. На практике исполь- зуют в основном маски симметричной формы, центр которой совпадает с центром окрестности, т. е. маски. Распространенным видом окрестности является квадрат размером 3 × 3, 5 × 5 и т. п. Фильтрация изображения f (x, y), имеющего размеры M × N, с помощью ядра размерами m × n задается формулой ( , ) ( , ) ( , ), s t g x y w s t f x s y t   (10.5) где s и t – координаты элементов маски относительно ее центра (в центре s = t = 0). 117 Такого рода преобразования называются линейными, и их можно выполнить с помощью операции свертки (схематично эта операция представлена на рис. 10.2). Рис. 10.2. Операция свертки изображения f с помощью ядра g Пусть f – функция яркости, g – ядро. Операция свертки изоб- ражения f с помощью g обозначается как f*g и описывается следу- ющим образом: , ( * )[ , ] [ , ] [ , ]. k l f g m n f m k n l g k l   (10.6) Отметим, что, если ядро несимметрично, его надо преобразовать симметрично относительно его же центра. Таким образом, идея фильтрации основывается на интегральном использовании яркости пикселей, попавших в заданное окно, с уче- том коэффициентов ядра фильтра (рис. 10.3). В этом состоит основ- ное отличие фильтрации от рассмотренных выше операций обра- ботки изображений точечного типа: фильтрация является процеду- рой обработки изображений локального типа. При реализации операций пространственной фильтрации в окне возникает неопределенная ситуация, когда центр окна близок к грани- це изображения и несколько элементов маски находятся вне изобра- жения. Существует несколько способов учесть это обстоятельство: 1) простейший способ состоит в ограничении перемещения цент- ра окна по изображению, т. е. не выходить за края изображения; 2) расширить изображение путем добавления строк и столбцов с нулевыми значениями; 3) расширить изображение симметрично границе, повторив строки и столбцы изображения. После обработки добавленные строки и столбцы удаляются. Это позволяет получить обработанное изображение размером с исход- ное. Следует помнить, что значения пикселей, использовавшихся 118 для расширения изображения, оказывают влияние на результат фильтрации пикселей внутри граничной полосы, ширина которой зависит от размеров маски. Рис. 10.3. Изображение, окно фильтра, наложенное на пиксель, показанный темным цветом, коэффициенты ядра фильтра (причем w(1, –1) = w(–1, 1) = 0), значения яркости пикселей, попавших в окно 119 10.3. Низкочастотные фильтры Низкочастотные пространственные фильтры оставляют низкоча- стотные компоненты изображения (т. е. области с плавными измене- ниями яркости) нетронутыми и ослабляют высокочастотные компо- ненты. Такие фильтры используются для понижения шума, содер- жащегося в изображении, удаления высокочастотных компонент из изображения с тем, чтобы можно было тщательнее исследовать со- держание низкочастотных компонент. Результат низкочастотной фильтрации – размытие изображения. На рис. 10.4 показаны приме- ры ядер низкочастотных фильтров.                 111 121 111 10 1 111 111 111 9 1 Рис. 10.4. Примеры ядер низкочастотных фильтров Отличительные признаки низкочастотных фильтров: а) неотрицательные коэффициенты ядра; б) сумма всех коэффициентов равна единице. Рассмотрим основные варианты низкочастотных фильтров. Они реализуются линейными операциями локального типа. Большую группу низкочастотных фильтров составляют усред- няющие фильтры. В усредняющих фильтрах различен способ нахождения среднего значения яркости в окрестности. Различают арифметические, геометрические, гармонические и контргармони- ческие усредняющие фильтры. 10.3.1. Арифметический усредняющий фильтр Арифметический усредняющий, или box-фильтр, усредняет значение яркости пикселя по окрестности путем использования маски с одинаковыми коэффициентами. Например, для маски раз- мером 3 × 3 коэффициенты равны 1/9 при 5 × 5 – 1/25. Такая нор- мировка необходима для того, чтобы привести значение результата фильтрации к диапазону яркости исходного изображения. Графиче- 120 ское представление двумерной функции, описывающей маску этого фильтра, похоже на коробку или параллелепипед (рис. 10.5), отсюда и англоязычное название – box-фильтр: Рис. 10.5. Графическое представление функции усредняющего фильтра (box-фильтр) и его функция 0 0 1 ( , ) ( , ). M N i j f x y g i j M N       В данной формуле f (x, y) – значение пикселя выходного изображения; g(i, j) – текущее значение пикселя исходного изображения, соот- ветствующее центру маски; M и N – ширина и высота маски соответственно. Эта операция аналогична операции линейной фильтрации с коэф- фициентами маски, равными 1/(MN). Из формулы следует, что ариф- метический метод усреднения – частный случай алгоритма линейной свертки и может применяться для устранения высокочастотных помех и сглаживания изображений. Алгоритм арифметического усреднения эффективен лишь для слабо зашумленных изображений. 10.3.2. Геометрический усредняющий фильтр Геометрическое усреднение может быть записано в виде сле- дующей формулы: 1 0 0 ( , ) ( , ) . M N MN i j f x y g i j           (10.7) 121 При таком усреднении происходит сглаживание изображения, аналогичное арифметическому усреднению, наблюдается ухудше- ние резкости, свойственное всем фильтрам из этого класса, но от- дельные объекты исходного изображения искажаются меньше. Этот фильтр так же, как усредняющий арифметический, может использоваться для подавления высокочастотного аддитивного шу- ма, имея при этом лучшие статистические характеристики, но но- вые значения яркости дольше вычисляются. 10.3.3. Гармонический усредняющий фильтр Фильтр на базе гармонического усреднения основывается на выражении 0 0 ( , ) . 1 ( , ) M N i j MNf x y g i j     (10.8) Этот фильтр хорошо работает с импульсными шумами типа «соль», т. е. белыми точками, и не работает с шумами типа «перец». 10.3.4. Контргармонический усредняющий фильтр Контргармонический фильтр представляет собой обобщение арифметического и гармонического усреднения. Этот фильтр меняет яркость пикселя согласно функции 1 0 0 0 0 ( , ) ( , ) , ( , ) M N Q i j M N Q i j g i j f x y g i j           (10.9) где Q – порядок фильтра. Контргармонический фильтр идеально подходит для уменьше- ния или полного устранения импульсных шумов типа «соль-и- перец», причем при положительных значениях Q подавляются шу- мы «перец», а при отрицательных – «соль». Однако одновременное 122 удаление биполярного импульсного шума (т. е. белых и черных то- чек) невозможно. При Q = 0 контргармонический фильтр превращается в арифме- тический, а при Q = 1 – в гармонический, поэтому данный фильтр можно считать обобщенным фильтром из класса усредняющих. 10.3.5. Фильтр Гаусса При задании фильтров можно использовать маски с разными весо- выми коэффициентами (см. рис. 10.3). Логично предположить, что пиксели, расположенные ближе к анализируемому пикселю, оказыва- ют большее влияние на яркость, вычисляемую в процессе фильтрации. К такому типу фильтров относятся фильтры, значения весов которых описывается колоколообразной функцией Гаусса (рис. 10.6): 2 2 ( ) 21( ) , 2 x f x e     (10.10) где параметры μ – координата центральной точки, σ – вещественная константа, определяющая ширину колокола. Также на рис. 10.6 представлены двумерные варианты задания функции Гаусса. 2 2 2 ( ) 2 2 1 2 x y G e     а б в Рис. 10.6. Разные представления функции Гаусса: аналитическое, а – в виде поверхности; б – в виде полутонового изображения; в – в виде маски с коэффициентами 123 Чем больше σ, тем больше размывается изображение при приме- нении фильтра. Значение данного параметра следует выбирать в зависимости от того, насколько сильно необходимо размыть изоб- ражение. Обычно радиус фильтра r выбирается равным 3σ. Свойства фильтра Гаусса 1. Фильтр Гаусса является сепарабельным (т. е. разделимым). Это значит, что двумерная функция Гаусса может быть представле- на в виде произведения двух одномерных функций: 2 2 2 2 2 2 22 2 2 2 1 1 1 ( , ) exp exp exp , 2 22 x y x y G x y                          (10.11) а это позволяет снизить количество вычислений с 4r2 до 4r на каж- дый пиксель. 2. Свертка два раза с ядром фильтром радиуса σ дает тот же результат, что с фильтром радиуса σ√2. 10.4. Высокочастотные фильтры Высокочастотные фильтры используются для выделения перепа- дов яркости. На их базе строятся алгоритмы подчеркивания границ и выделения небольших объектов. Они усиливают резкие перепады на изображении, в то время как плавные подавляются. Таким обра- зом, после обработки высокочастотным фильтром изображение становится более резким. Основной класс высокочастотных фильтров выделяет края. Кра- евым называется пиксель, в котором резко изменяется локальная яркость изображения. Методы выделения таких пикселей называют детекторами края. Связная совокупность таких пикселей образует границы объектов, представленных на изображении. Края на изображении можно разделить на два основных типа: в виде ската и в виде крыши (рис. 10.7). 124 Рис. 10.7. Основные типы краев Как правило, резкое изменение яркости можно определить, ана- лизируя первую производную функции яркости (рис 10.8). Произ- водная характеризует величину градиента. Граница объекта на изображении обычно перпендикулярна к вектору градиента. Рис. 10.8. Функция яркости и ее первая производная (максимум производной соответствует краю) Для вычисления производной применяют высокочастотные фильтры, которые аппроксимируют вычисление производных по направлению. При этом Δx равно 1 или 2. В ядрах высокочастотных фильтров часть коэффициентов имеет отрицательные значения, но сумма всех коэффициентов равна нулю, что означает вычисление разности значений яркости соседних пикселей. Для ускорения вы- числений все коэффициенты, как правило, целочисленные. 10.4.1. Фильтр Робертса Метод Робертса является самым простым, быстрым и весьма эффективным. Он работает с маской 2 × 2, представленной на рис. 10.9. 125 Рис. 10.9. Ядра фильтра Робертса для вычисления производных по Х и по Y В результате свертки изображения с этими ядрами получаем оценку градиента (т. е. перепада яркости) по направлениям Gx, Gy. Суммарное значение градиента всех детекторов края вычисляется по формуле 2 2 x yG G G  или упрощенно (10.12) G = |Gx| + |Gy|. 10.4.2. Фильтр Превитта Метод Превитта использует две ортогональные матрицы (ядра Превитта) размерностью 3 × 3 для приближенного вычисления про- изводных по X и по Y: 1 0 1 1 0 1 ; 1 0 1 xG           (10.13) 1 1 1 0 0 0 . 1 1 1 yG            10.4.3. Фильтр Собела Фильтр Собела использует разные веса в ядрах. Классическим вариантом фильтра Собела являются следующие ядра: 126 1 0 1 2 0 2 ; 1 0 1 xG           (10.14) 1 2 1 0 0 0 . 1 2 1 yG            10.4.4. Фильтр Лапласа Ранее описанные фильтры использовали аппроксимацию первой производной по оси Х и по оси Y. В фильтре Лапласа используется аппроксимация вторых производных по этим осям (рис. 10.10). В этом случае градиент вычисляется независимо от направления и границы выделяются точнее, чем в предыдущих методах. Лапла- сиан от функции f (x, y) – это сумма вторых производных: 2 2 2 2 d d ( ( , )) . d d f fL f x y x y   (10.15) Рис. 10.10. Вторая производная функции яркости (меняет знак, т. е. проходит через ноль в точке соответствующей краю) 127 Для дискретных функций вторые производные могут быть ап- проксимированы следующим образом: ( ( , )) ( 1, ) ( 1, ) ( , 1) ( , 1) 4 ( , ). L f x y f x y f x y f x y f x y f x y           (10.16) Выражение (10.16) позволяет реализовать фильтр Лапласа посред- ством свертки некоторого ядра w(s, t) (10.17) с изображением f (x, y). 0 1 0 ( , ) 1 4 1 0 1 0 w s t   (10.17) После свертки близкие к нулю значения соответствуют краевым пикселям. Ядро фильтра Лапласа может быть описано разными спо- собами, например: 1 1 1 1 8 1 ; 1 1 1         (10.18) 1 2 1 2 4 2 . 1 2 1     10.4.5. Выделение краев методом Кэнни Цель алгоритма Кэнни – более точное выделение не краев, а границ на изображении (рис. 10.11). Алгоритм основан на исполь- зовании двух порогов при анализе матрицы градиентов. Пороги вы- деляют сильные и слабые границы. Причем слабые границы отме- чаются, только если они соединены с сильными границами. 128 Рис. 10.11. Пример последовательной реализации алгоритма выделения границ методом Кэнни Алгоритм Кэнни состоит из следующих шагов. Шаг 1. Сгладить изображение. Выполнить сглаживание изображения фильтром Гаусса. Радиус и сигма задаются. Шаг 2. Вычислить градиенты всех пикселей. Применить фильтр Собела для вычисления значений градиента во всех пикселях изображения. Направление градиента округляется до 0, 45, 90 и 135°. Шаг 3.Подавить не-максимумы модуля градиента. Краям соответствуют максимальные значения градиентов. Отобрать их, сравнивая значения модуля градиента, ортогонально вычисленным направлениям градиента. Если направление градиен- та в пикселе равно 0°, анализируется модуль градиента ортогональ- но расположенных соседних пикселей (вертикальные соседи); пик- сель может быть граничным, если его градиент больше, чем у сосе- дей. Аналогично анализируются значения модулей градиента для трех других направления градиента. 129 После подавления не-максимумов края становятся более точны- ми, тонкими и связными. Простой выбор локальных максимумов выделит мало краевых пикселей. Шаг 4. Выполнить двойную пороговую фильтрацию. Для ранее отобранных пикселей применить порог, чтобы уточ- нить, являются ли они граничными. Чем ниже порог, тем больше граничных пикселей будет отобрано и тем более зашумленным бу- дет результат. Наоборот, высокий порог может отбросить слабые края и получить границу с множеством разрывов. Для выделения границ используются два значения порога: если значение градиента в пикселе выше верхнего порога, он принимает максимальное значение (граница в нем считается достоверной), ес- ли меньше нижнего порога, пиксель не считается граничным. Пик- сели со значениями градиента, попадающими в диапазон между по- рогами, считаются неоднозначными, им присваивают фиксирован- ное среднее значение, а их статус уточняется на следующем шаге. Значения порогов задаются. Шаг 5. Уточнить границы путем трассировки области неодно- значности. Итоговые границы определяются путем подавления всех крае- вых пикселей, не связанных с ранее определенными достоверными граничными пикселями. Выделяются группы пикселей, получив- ших на предыдущем этапе среднее значение. Если они соединены с одной из достоверных границ, они относятся к границе, а в про- тивном случае подавляются. Пиксель добавляется к группе, если он соседствует с ней по одному из восьми направлений. 10.5. Нелинейная фильтрация Низкочастотные методы фильтрации приводят к сглаживанию резких перепадов яркости на изображении. Они линейны и опти- мальны при гауссовском распределении помех и наблюдаемых дан- ных. На реальных изображениях в районе границ разных объектов распределение яркости имеет другой вид. В таких случаях при фильтрации используют нелинейные методы. 130 10.5.1. Медианная фильтрация Если на изображении имеются помехи в виде белых или черных точек, это шум импульсного типа. Линейная фильтрация не устра- няет их полностью. Для удаления шума такого типа используются нелинейные фильтры, например медианные. При медианной фильтрации также используется понятие окрест- ности и ее центра. Окрестность может иметь произвольную форму и размер, центр может располагаться произвольно относительно окрестности. При совмещении центра окрестности с анализируе- мым пикселем окрестность служит окном, сквозь которое «видим» и отбираем ряд соседних пикселей, их значения яркости сортируют- ся по возрастанию, значение среднего в ряду (т. е. медианного) эле- мента после сортировки и будет результатом фильтрации в данном окне. Затем окно смещается, а процедура повторяется для всех пик- селей исходного изображения. На практике окно часто имеет прямоугольную форму с нечетным количеством элементов, а его центр располагается в геометриче- ском центре. Например, пусть в окно размером 3 × 3 (рис. 10.12) попали девять пикселей. После сортировки их значений в результате медианной фильтрации центральный пиксель принимает значение 6. Рис. 10.12. Идея медианной фильтрации в окне 3 × 3 Поскольку окно может иметь произвольную форму, для его опи- сания удобно использовать прямоугольную маску, элементы кото- рой принимают значения 0 и 1. В сортировке участвуют только пиксели, которые соответствуют ненулевым элементам маски. Существуют алгоритмы взвешенной медианной фильтрации. В маске, соответствующей окну фильтра, используются, кроме 0 и 131 1, целые числа 2, 3 и др. Они указывают, сколько раз повторить яр- кость соответствующего пикселя перед сортировкой. Как правило, большие веса располагаются ближе к центру окна для усиления влияния яркости центральных пикселей на результат. Число значе- ний яркости, участвующих в сортировке, равно сумме весов маски. Свойства медианного фильтра: несепарабельный; нелинейный; на полутоновых изображениях фильтр не вносит значения ярко- сти, отсутствующие в исходном изображении; качественно удаляет шумы импульсного типа. Медианные фильтры успешно улучшают отсканированные ста- рые фотографии с белыми полосами на месте сгибов. На рис. 10.13 приведен пример медианной фильтрации полуто- нового зашумленного гауссовским аддитивным шумом, с разными размерами окна фильтрации. Медианный фильтр хорошо справля- ется со слабой и средней степенью зашумления, однако для подав- ления более интенсивных шумов необходимо использовать медиан- ный фильтр с бόльшими размерами окна фильтрации. На рис. 10.13 видно, что с увеличением размера окна растет спо- собность медианного фильтра подавлять шумовую компоненту. Однако увеличение размеров окна фильтра может привести к иска- жению очертаний объектов. Кроме того, малые по размеру объекты могут быть целиком удалены с изображения. Поэтому в каждом конкретном случае параметры фильтра необходимо настраивать в зависимости от степени искажений и характерных размеров наблюдаемых объектов. Иногда лучше два раза применить фильтр с окном 3 × 3, чем один раз с окном 5 × 5 (рис. 10.14). Результат медианной фильтрации нечувствителен к плотности распределения шума. Это связано с тем, что медианный фильтр с площадью окна 2M + 1 эффективно подавляет шумовые пиксели в окне суммарной площадью менее M. В то же время при фильтра- ции контрастных крупноразмерных объектов медианный фильтр не размывает и не смещает их края (точки перепада яркости). 132 Исходное изображение (сильная степень зашумления) Результат медианной фильтрации в окне 5 × 5 Результат медианной фильтрации в окне 7 × 7 Результат медианной фильтрации в окне 9 × 9 Рис. 10.13. Примеры фильтрации с разным размером окна Рис. 10.14. Пример трехкратного применения медианного фильтра. Шум занимает 15 % площади изображения 133 10.5.2. Адаптивная медианная фильтрация Рассмотрим вариант адаптивного медианного фильтра. Он ис- пользует прямоугольное окно размером S × S. Адаптация состоит в увеличении размера окна S в процессе фильтрации в зависимости от его локальных статистик. Введем обозначения: Zmin – минимальное значение в окне; Zmax – максимальное значение в окне; Zmed – медианное значение в окне; Zi, j – значение пикселя с координатами (i, j); Smax – максимально допустимый размер окна. Алгоритм адаптивной медианной фильтрации Шаг 1. Загрузить изображение. Организовать цикл по строкам и столбцам. Шаг 2. Задать исходные размеры окна фильтрации. Для пикселя (i, j) в заданном окне вычислить Zmin, Zmax, Zmed, A1 = Zmed − Zmin, A2 = Zmed − Zmax. Если A1 > 0 и A2 < 0 , перейти на шаг 2. В противном случае следует увеличить размер окна. Если текущий размер окна S ≤ Smax, повторить шаг 1. В противном случае результат фильтрации равен величине Zi, j. Шаг 3 .Вычислить B1 = Zi, j − Zmin, B2 = Zi,j − Zmax. Если B1 > 0 и B2 < 0 , результат фильтрации равен Zi,j. В противном случае резуль- тат фильтрации равен Zmed. Шаг 4. Изменить координаты (i, j). Если не вышли за пределы изображения, установить исходные размеры окна фильтрации, пе- рейти на шаг 2. В противном случае фильтрация окончена. Цель шага 2 – определить, является или нет выход медианного фильтра Zmed импульсным шумом (черным или белым). Если усло- вие Zmin < Zmed < Zmax соблюдается, то Zmed не может быть импуль- сом. В этом случае осуществляется переход на шаг 3 и проверяется, является ли импульсом пиксель Zi, j в центре окна? Если условия B1 > 0 и B2 < 0 верны, то Zmin < Zmed < Zmax и Zi,j не может быть импульсом по той же причине, что и Zmed. В этом случае 134 алгоритм возвращает исходное значение яркости Zi,j. Так как подоб- ные пиксели с промежуточными значениями не изменяются (в от- личие от медианного фильтра, обрабатывающего все пиксели изоб- ражения), суммарный уровень искажений в восстановленном изоб- ражении меньше (рис. 10.15). а б Рис. 10.15. Пример фильтрации адаптивным медианным фильтром: а – слева изображение с импульсным шумом; б – результат фильтрации описанным алгоритмом Если условие B1 > 0 и B2 < 0 неверно, тогда Zi, j = Zmin или Zi,j = Zmax. И в том и другом случае значение пикселя является критиче- ским и алгоритм выводит медиану Zmed, которая, как следует из ша- га 2, не является импульсным шумом. Предположим, что на шаге 2 обнаружен импульс. Тогда увели- чивается размер окна и повторяется шаг 2. Повтор шага происходит до тех пор, пока алгоритм не находит среднее значение, которое не является импульсом (и выполняет переход к шагу 3), или пока не достигнут максимальный размер окна. Если это так, то алгоритм возвращает величину Zi,j. Заметим, нет гарантии, что это значение не является импульсом. Чем меньше вероятность шума p, тем выше вероятность определения подходящего значения яркости. Для фильтрации шумов с высокой плотностью требуется больший раз- мер окна. Последний этап – обработка медианного фильтра анало- гична алгоритму стандартного. 135 Таким образом, рассмотренная модификация медианного фильт- ра преследует следующие цели: оптимальное удаление импульсного шума; сглаживание других типов шумов; уменьшение искажений в виде потери мелких деталей. Основной недостаток адаптивных методов обработки – увеличе- ние объема вычислений. Для уменьшения вычислений используют рекурсивные процедуры коррекции статистических при нахождении характеристик соседнего фрагмента характеристик текущего фрагмен- та. Например, если фрагмент имеет форму прямоугольника и в нем вычислена гистограмма яркостей, при сдвиге вправо на один пиксель локальная гистограмма корректируется путем вычитания вклада пик- селей, образующих левый столбец текущего фрагмента, и добавлением пикселей, образующих правый столбец соседнего фрагмента. 10.5.3. Ранговая фильтрация Медианный фильтр является частным случаем класса фильтров, называемых ранговыми или порядковыми. Ранговый фильтр по- рядка r (1 ≤ r ≤ N, где N – число элементов в окрестности) выбирает из полученного ряда элемент с номером r и присваивает его значе- ние как результат фильтрации пикселя исходного изображения. Если число N нечетное и r = (N + 1)/2, фильтр становится меди- анным. Если r = 1, фильтр выбирает минимальное значение яркости в окне и называется min-фильтром. Если r = N, фильтр выбирает максимальное значение яркости в окне и называется max-фильтром. 10.6. Внесение эффектов в изображение Одним из способов обработки изображений является их измене- ние путем внесения различных эффектов. 10.6.1. Повышение резкости изображения Если к центральному элементу маски Лапласа добавить единицу и выполнить свертку изображения с такой маской, фактически по- лучим добавление к исходному изображению градиентной инфор- мации. В результате повысится резкость исходного изображения. 136 Для увеличения контраста между центральным пикселем и соседя- ми используются отрицательные весовые коэффициенты. Пример маски для увеличения резкости изображения: 0,1 0,1 0,1 0,1 1,8 0,1 . 0,1 0,1 0,1 G          (10.19) Сумма коэффициентов маски равна +1, но может и немного от- личаться. 10.6.2. Создание эффекта тиснения Эффект тиснения можно придать изображению с помощью фильтров следующего типа: 4 0 1 2 0 0 0 ; 0 1 2 T    5 1 0 0 0 0 0 ; 0 0 1 T   (10.20) 6 2 1 0 1 0 1 . 0 1 2 T      Коэффициенты ядра симметричны относительно центра или оси, проходящей через центр, а их сумма равна нулю. При изменении знаков в ядрах фильтра на противоположные изменяется направление подсветки. 137 10.6.3. Создание эффекта акварелизации В результате применения эффекта акварелизации изображение будет выглядеть так, будто оно нарисовано акварелью. На первом этапе применения сглаживается яркость редактируе- мого изображения. Можно использовать свертку, например, с ядром 1 2 1 1 2 4 2 . 16 1 2 1 M  (10.21) На следующем этапе для завершения создания эффекта акварели повышается резкость переходов полученного изображения, напри- мер сверткой с ядром (рис. 10.16): 0,5 0,5 0,5 0,5 5 0,5 . 0,5 0,5 0,5 R          (10.22) а б Рис. 10.16. К исходному изображению (а) применили медианный фильтр в окне 5 × 5 и свертку с ядром R, результирующим изображение (б) 10.7. «Продвинутые» алгоритмы Вышеописанные алгоритмы не учитывают локальные особеннос- ти изображений, поэтому, если изображение содержит и очень тем- 138 ные, и очень светлые участки, эти алгоритмы не могут обеспечить качественное улучшение изображения. Для таких изображений применяют так называемые «продвинутые» алгоритмы, например алгоритм Retinex и его модификации. Алгоритм SSR (Single-Scale Retinex) выравнивает освещенность изображения, сохраняя локальный контраст в плохо и ярко осве- щенных областях (рис. 10.17). Коррекция выполняется по формуле R(x, y, sigma) = log[I(x, y)] – log[I(x, y)*G(x, y, sigma)], (10.23) где sigma – коэффициент размытия; * – оператор свертки; G – Гауссиан. а б Рис. 10.17. Пример применения алгоритма Single-Scale Retinex при sigma = 18 (а – исходное изображение) После применения формулы (10.23) большинство значений R находится в диапазоне [–1; 1], для визуализации изображения зна- чения R необходимо нормализовать по формуле I = Int(255*R) + 127. (10.24) Этот алгоритм можно применить несколько раз с разными пара- метрами фильтра Гаусса и вычислить взвешенную сумму яркостей каждого пикселя. Получим алгоритм MSR (Multi-Scale Retinex), (рис. 10.18): 1 1 2 2 1 2 ; ... 1. n n n MSR w SSR w SSR w SSR w w w          (10.25) 139 Обычно n невелико: 3 или 5. а б Рис. 10.18. Пример применения алгоритма Multi-Scale Retinex для sigma = 7, 480, 4800 (а), плюс линейное растяжение контраста (б) 10.8. Сравнение фильтров Выбор конкретного фильтра зависит от задачи и условий ее реа- лизации, например скорости вычислений. Арифметический, усредняющий фильтр, помимо подавления шума, искажает резкие границы и размывает мелкие детали изоб- ражения; он самый быстрый. Фильтр Гаусса меньше размывает мелкие детали и лучше убирает шум, достаточно быстр, если коэффициенты вычисляются один раз. Медианный фильтр (median filter) резких границ не искажает, убирает мелкие детали, изображение становится более однородным. Если маска велика, сортировка замедляет вычисления. Адаптивные фильтры меньше искажают детали и зависят от боль- шего числа параметров, требующих дополнительных вычислений. «Продвинутые» фильтры обеспечивают лучшее сохранение де- талей на изображении, меньше размытие. Они часто сложны в реа- лизации и работают медленнее. 140 Глава 11. ОПЕРАЦИИ МАТЕМАТИЧЕСКОЙ МОРФОЛОГИИ Одним из сравнительно новых направлений в обработке изобра- жений является математическая морфология. Это теория обработки и анализа геометрических форм, основанная на теории множеств и топологии. Напомним основные понятия из теории множеств. Если  X x и  Y y – множества, то объединением множеств X и Y называется множество Z = {z : z  X или z  Y} = X Y (т. е. множество, состоящее из таких элементов z, которые принадлежат X или Y), а пересечением множеств X и Y называется множество : , .{ }Z X Y z z X z Y   Множество  :cZ X z z X   называется дополнением множества X. Разностью множеств X и Y называется множество  : , \Z z z X z Y X Y    . Множество Z называется пустым, если оно не содержит ни одно- го элемента. Обозначается такое множество Z = Ø. Справедливы следующие соотношения:     ; ; \ ; С C C С C C C X Y X Y X Y X Y X Y X Y         (11.1) Бинарные изображения легко описать в виде множеств. Если яр- кость пикселя равна 1 (белый цвет), он принадлежит некоторому множеству, если 0 (черный) – нет. Бинарное изображение можно рассматривать как индикаторную функцию набора множеств, т. е. черных пятен, например объедине- ния множеств 1 2 3X X X X   на рис. 11.1. 141 Рис. 11.1. Бинарное изображение К такому описанию бинарных изображений применим аппарат теории множеств. Для любого множества X можно задать некоторый элемент (не обязательно принадлежащий этому множеству), называемый цент- ром (или началом координат) этого множества. Обозначим через Xa множество X, центр которого помещен в точку a. Для бинарных изображений легко определить меру множества X – это его площадь или количество входящих в множество пикселей. Одним из основных понятий математической морфологии явля- ется понятие структурного элемента. Структурный элемент B – это множество точек, для которых определен его центр (не обяза- тельно являющийся центром этого множества). Важно, что струк- турный элемент определяет некоторую геометрическую форму, с помощью которой выполняются морфологические операции. Элемент может иметь произвольный размер и форму, но на практи- ке чаще используются симметричные элементы (прямоугольник, круг), а центром являются их геометрические центры. Рассмотрим основные операции математической морфологии для обработки бинарных изображений. 11.1. Математическая морфология бинарных изображений 11.1.1. Эрозия Пусть задан структурный элемент B. Эрозией множества X назы- вается множество Y, состоящее из тех элементов исходного множе- ства X, для которых выполняется условие xB X (рис. 11.2): X1 X2 X3 142  : .xY X B x B X    (11.2) Так, если ,x X a ,b B то в множество Y включаются такие элементы, для которых выполняется условие .x b X  (11.3) Эрозию можно трактовать следующим образом: центр структур- ного элемента помещают во все точки ,x X если элемент пол- ностью принадлежит Х, тогда точка .x Y Очевидно, после этой операции множество Х уменьшается. Рис. 11.2. Операция эрозии С другой стороны, если точка b пробегает все возможные поло- жения в множестве B, условие (11.3) выполняется тогда и только тогда, когда x принадлежит смещенному множеству X-b (рис. 11.3). Рис. 11.3. Эрозия как пересечение смещенных множеств 143 Поэтому операцию эрозии можно записать ,b b b b B b B b B Y X B X X X           (11.4) где { : }B b b B   – множество, симметричное элементу B относи- тельно его центра. 11.1.2. Дилатация Операцией, двойственной к эрозии, является дилатация (или расширение), которая определяется следующим образом (рис. 11.4):  : .xY X B x B X    (11.5) Рис. 11.4. Операция дилатации Другое представление дилатации имеет вид (рис. 11.4): .b b B Y X B X      (11.6) Дилатацию можно осуществить следующим образом: центр структурного элемента помещаем во все точки x X и добавляем 144 к X все точки смещенного структурного элемента. Объединение по- лученных точек определяет множество Y. Очевидно, после этой операции множество X увеличивается. Рис. 11.5. Дилатация как объединение смешанных множеств Если рассматривать множество X как объект, а его дополнение XC как фон на изображении, то дилатацию объекта можно интер- претировать как эрозию фона: ( ) .C CX B X B   (11.7) Доказательство тривиально: ( ) ( ) .C C c cb b b B b B X B X X X B         (11.8) 11.1.3. Свойства дилатации и эрозии Эти две операции являются базовыми в математической морфо- логии. Приведем их основные свойства. 1. Дистрибутивность. Дилатация дистрибутивна относительно объединения множеств: 1 1 ( ) ( ), I I i i i i X B X B       (11.9) 145 а эрозия – относительно пересечения множеств: 1 1 ( ) ( ). I I i i i i X B X B       (11.10) Свойство дистрибутивности с учетом соотношения (11.9) позво- ляет выполнять операции над X по фрагментам, комбинируя затем результаты посредством объединения или пересечения. 2. Ассоциативность. Дилатация ассоциативна: ( ) ( ),X A B X A B     (11.11) а эрозия нет, но верно ( ) ( ).X A B X A B     (11.12) Эти свойства позволяют упрощать выполнение операций по- средством разложения сложных структурных элементов в компози- цию более простых (рис. 11.6). При этом операции со сложными структурными элементами выполняются быстрее, как последова- тельность операций с более простыми элементами, содержащими меньшее количество точек. Так, эрозию посредством структурного элемента Н, приведенного на рис. 11.6, можно заменить четырьмя последовательными операциями эрозии со структурными элемен- тами A, B, C, D, показанными на данном рисунке. Рис. 11.6. Декомпозиция структурных элементов 146 3. Инвариантность к изменению масштаба ( );X B X B      (11.13) ).( BXBX  В этих соотношениях через B, A обозначены множества, про- масштабированные относительно своих центров (рис. 11.7) { : };B B b b b B       (11.14) { : }.X X x x x X       Рис. 11.7. Инвариантность эрозии и дилатации к масштабу Если центр структурного элемента B находится внутри него, тог- да для любых множеств A и C, если A  C, справедливо: ;A B C B   (11.15) .BCBA  147 11.1.4. Применение эрозии и дилатации Эрозия и дилатация – операции, предназначенные в первую оче- редь для выделения на бинарном изображении объектов (связных множеств точек) с определенной формой путем использования структурных элементов с разной формой и размерами. Например, эрозия посредством круга с радиусом r позволяет найти в изобра- жении объекты, минимальный диаметр которых превышает 2r. Если же в качестве структурного элемента взять две точки, смещение между которыми определяется вектором h, эрозия позволит выде- лить объекты, имеющие соседей в направлении и на расстоянии, заданными этим вектором (рис. 11.8). Под объектами подразумева- ются односвязные множества пикселей. Рис. 11.8. Множество пикселей: а – исходное множество X; б – X  A; в – X B. Стрелками отмечены начала структурных элементов Одно из простейших применений дилатации – это устранение разрывов линий путем их перекрытия. На рис. 11.9 показано изоб- ражение с разорванными символами. Пусть известно, что макси- мальная длина разрывов составляет два пикселя. На рис. 11.9, б по- казан структурный элемент, позволяющий устранить разрывы. Ре- зультат дилатации исходного изображения по такому примитиву показан на рис. 11.9, в. В местах разрывов образовались «мостики». Одно из преимуществ морфологического подхода по сравнению а б в 148 с методом устранения разрывов путем низкочастотной фильтрации состоит в том, что морфологический метод сразу дает бинарное изображение. Напротив, при низкочастотной фильтрации из исход- ного бинарного изображения вначале получается полутоновое, ко- торое затем требуется преобразовать обратно в бинарное. а 0 1 0 1 1 1 0 1 0 б в Рис. 11.9. Пример изображения текста с недостаточным разрешением и разным размером букв (а); структурный элемент (б); (в) дилатация изображения (а) с элементом (б) Рассмотрим способ морфологического выделения границ (рис. 11.10). Определим морфологическую границу множества X (т. е. всех темных пятен на изображении) как разность дилатации и эрозии этого множества с круглым структурным элементом B: ( ).X X X B    (11.16) Рис. 11.10. Пример морфологического выделения границы 149 11.1.5. Отмыкание и замыкание В общем случае невозможно полностью восстановить исходное множество X после выполнения эрозии X  B путем применения операции дилатации с тем же структурным элементом B, но после- довательное выполнение эрозии и дилатации порождает новые опе- рации математической морфологии. Операция отмыкания множества X посредством структурного элемента B определяется формулой ( ) .A B A B B   (11.17) Операция замыкания множества X посредством структурного элемента B определяется применением эрозии и дилатации в обрат- ном порядке: ( ) .A B A B B    (11.18) Рассмотрим основные свойства этих операций. Они двойственны друг другу: ( ) .c s cA B A B   (11.19) Применительно к бинарным изображениям это соотношение означает, что операция замыкания эквивалентна дополнению ре- зультата отмыкания дополнения A c элементом BS, симметричным B относительно центра. Очевидно, если B симметричен, то B = BS. Важно следующее свойство этих операций, их идемпотентность: ( )A B B A B   и ( ) .A B B A B    (11.20) Оно означает неизменность результата при повторении операций отмыкания и замыкания. Если центр структурного элемента B находится внутри него, тог- да для любого множества A справедливо .A B A B A A B A B       (11.21) 150 11.1.6. Применение операций отмыкания и замыкания Отмыкание и замыкание используются для фильтрации бинар- ных изображений, сглаживания формы объектов путем удаления мелких и узких частей (операция отмыкания); удаления мелких по- лостей и узких «каналов» (операция замыкания). Степень сглажи- вания и размеры удаляемых артефактов зависят от размеров и формы структурного элемента. Рассмотрим способ морфологического выделения углов и ост- рых пиков. Детектор острых углов можно определить как разность между отмыканием множества X и замыканием X с круглым струк- турным элементом B: .mgX X B X B   (11.22) Метод нормализации фона изображения использует два структу- рирующих элемента: B1 и B2. Элемент B1 выбирается очень малым, чтобы сохранить даже самые малые детали объекта на изображе- нии, но отсекать импульсный шум. Элемент B2 имеет большие раз- меры, чтобы подавить любой, даже самый большой по геометриче- ским размерам объект (пятно) на изображении. Операция нормали- зации фона – это разность операций отмыкания и замыкания: 1 1 1 1 2 2( ) ((( ) ) ) .hX X B B X B B B B       (11.23) Комбинируя более сложные последовательности базовых опера- ций математической морфологии, можно сконструировать другие операции, ориентированные на решение конкретных задач. 11.1.7. Операция утоньшения Цель утоньшения – получить связное множество пикселей тол- щиной не более одного. Эта операция выполняется при обработке изображений, содержащих тонкие линии (чертежи, текст, отпечатки пальцев и т. п.). Операция утоньшения определяется следующим образом: \ ( ),Y XOT X X T   (11.24) 151 где T = (T1, T2) – структурный элемент, состоящий из двух непере- секающихся подмножеств T1 и T2. Отметим, что если начало структурного элемента принадлежит T1, то ( ) ,X T X  если же начало принадлежит T2, то .CX T X  Поэтому XOT = X при любом T1. Чтобы избежать этого при выпол- нении операции утоньшения, начало структурного элемента не должно принадлежать T1. Модифицированный алгоритм Зонга – Суня Исходное изображение бинарное, значения яркости 0 и 1. Будем использовать следующую нумерацию соседей центрального пиксе- ла Р1 и обозначения: 9 2 3 8 1 4 7 6 5 . P P P P P P P P P       Обозначим А (Р1) – число переходов яркости с 0 на 1 в последо- вательности P9, P2, P3, P4, P5, P6, P7, P8, P9, а также 9 1 2 ( ) ,i i B P P    iP – отрицание Pi. Шаг 1. В цикле по i и j для каждого пиксела P(i, j) изображения вычислить P1 = P(i, j). Если 2 ≤ B(P1) ≤ 6 A(P1) = 1 и а) одно из условий верно: 1) P2 × P4 × P6 = 0 при нечетной итерации; 2) P2 × P4 × P8 = 0 при четной итерации; б) одно из условий верно: 1) P4 × P6 × P8 = 0 при нечетной итерации, 2) P2 × P6 × P8 = 0 при четной итерации, тогда удалить пиксель P(i, j), т. е. значение его яркости заменить на фоновое. 152 В противном случае, если A(P1) = 2: а) одно из условий верно 1) P4 × P6 = 1 и P9 = 0 при нечетной итерации, 2) P2 × P8 = 1 и P5 = 0 при четной итерации, б) одно из условий верно 1) P4 × P2 = 1 и 3P × 7P × 8P = 1 при нечетной итерации, 2) P6 × P8 = 1 и 3P × 4P × 7P = 1 при четной итерации, тогда удалить пиксель P(i, j), т. е. значение его яркости заменить на фоновое. Шаг 2. Если на предыдущем шаге были выполнены изменения, повторить шаг 1 (иначе – закончить работу). Пример выполнения операции утоньшения представлен на рис. 11.11. а б Рис. 11.11. Пример выполнения операции утоньшения: а – исходное бинарное изображение; б – результат утоньшения Скелетон множества точек, заданного на дискретной решетке, только приближенно напоминает скелетон непрерывного множе- ства. Более того, для одного и того же множества результат постро- ения скелетона посредством последовательных утончений может быть различным в зависимости от порядка структурных элементов в последовательности (топологические свойства скелетона, такие как количество связных компонент, точек разветвления, ветвей, концевых точек и тому подобное при этом сохраняются). 153 11.2. Математическая морфология полутоновых изображений Рассмотрим наиболее простой вариант обобщения операций ма- тематической морфологии для обработки полутоновых изображе- ний. Полутоновое изображение описывается функцией яркости f(x) и обрабатывается плоским структурным элементом B. При этом можно считать, что элемент также описывается функцией нулевой яркости, т. е. g(z) = 0, если z∈B. В этом случае ( )( ) max{ ( ), }; ( )( ) max{ ( ), }. f B x f x z z B f B x f x z z B         (11.25) а б в Рис. 11.12. Примеры эрозии (б) и дилатации (в) плоским структурным элементом квадратной формы Эрозию полутонового изображения плоским структурным эле- ментом можно представить наглядно: представим, что функция яр- кости задает некую поверхность; двигаем плоский структурный элемент внутри поверхности по ее краю, так чтобы элемент полно- стью поместился внутри. Очерченная элементом новая поверхность будет результатом. Дилатацию полутонового изображения плоским структурным элементом можно трактовать следующим образом. Функция ярко- сти задает некую поверхность. При дилатации (если структурный 154 элемент несимметричен относительно своего центра) преобразуем его, вычислив новый, симметричный относительно центра элемент. Двигаем структурный элемент по поверхности, расширяя ее в сто- роны в соответствии с формой элемента. Рассмотрим пример выполнения этих операций. Пусть плоский структурный элемент несимметричен и задан единицами [0 1 1], центр элемента – его геометрический центр, а строка яркостей изображения имеет значения 0 0 8 8 9 0 0. Применяя дилатацию, находим максимум в окрестности каждого пикселя, с которым совмещаем центр элемента, окрестность отме- чена единицами [1 1 0]. В результате яркости примут значения 0 0 8 8 9 9 0. Применяя эрозию, находим минимум в окрестности каждого пикселя, с которым совмещаем центр элемента, окрестность отме- чена единицами [0 1 1]. В результате яркости примут значения 0 8 8 0 0 0. 155 Глава 12. МЕТОДЫ ОБРАБОТКИ ЦВЕТНЫХ ИЗОБРАЖЕНИЙ Методы обработки цветных изображений делятся на два основ- ных типа: 1) цветовые компоненты обрабатываются по отдельности; 2) цвет рассматривается как единый вектор в трехмерном про- странстве. В методах первого типа фактически выполняется обработка R, G, B-цветов как отдельных полутоновых изображений. Однако в ре- зультате независимой обработки (например, растяжения контраста) трех цветов могут возникнуть неестественные для исходного изоб- ражения оттенки. В методах второго типа изменения в цветовые составляющие вносятся пропорционально их «вкладу» в каждый пиксель. 12.1. Изменение цветового баланса Цель методов изменения цветового баланса – компенсация не- верного цветового восприятия камеры и/или цветного освещения сцены (рис. 12.1). Рис. 12.1. Коррекция изображения с опорным цветом Предполагается, что пользователь интерактивно укажет нужный опорный цвет, например белый цвет – цвет облаков на фотографии. Либо источникам «правильных» цветов может быть фотография этой же сцены с хорошо переданными цветами. 156 Преобразование по каждому из каналов цвета осуществляется по формулам real orig ; RR R R  real orig ; GG G G  (12.1) real orig , BB B B  где индекс «orig» означает цвет пикселя на исходном изображении, «real» – желаемый цвет. 12.2. Идеальный отражатель Предполагается, что наиболее яркие области изображения отно- сятся к бликам на поверхностях, модель отражения которых такова, что цвет блика равен цвету освещения (дихроматическая модель). Алгоритм коррекции Шаг 1. Найти максимумы значений в бликах по каждому из ка- налов: Rmax, Gmax, Bmax. Шаг 2. Изменить значения цвета для каждого пиксела по формулам max 255 ;R R R  max 255 ;G G G  (12.2) max 255 .B B B  157 12.3. Преобразование «Серый мир» В основе этого преобразования лежит предположение, что сумма всех цветов на изображении естественной сцены дает серый цвет. Пример коррекции изображения представлен на рис. 12.2. Рис. 12.2. Пример коррекции цвета преобразованием «Серый мир» Алгоритм преобразования «Серый мир» Шаг 1. Вычислить средние значения всех цветов по формулам: 1 ( , );R R x y N   1 ( , );G G x y N   (12.3) 1 ( , );B B x y N   . 3 R G BA g    158 Шаг 2. Скорректировать значения цветов согласно коэффициентам ; A gR R R   ; A gG G G   (12.4) , A gB B B   где , ,R G B   – новые значения цвета по каждому из каналов. 12.4. Линейное растяжение контраста цветного изображения Идея метода – линейно растянуть интенсивности по каждому цветовому каналу на весь динамический диапазон. Этот метод ис- пользуется в пакете «Фотошоп» в функции «autolevels». Алгоритм линейного растяжения контраста Шаг 1. Найти минимум и максимум по каждому из каналов (Rmin, Rmax, Gmin, Gmax, Bmin, Bmax). Шаг 2. Преобразовать оттенки цвета каждого пикселя: min max min (255 0) ( ) ; ( ) R R R R   min max min (255 0) ( ) ; ( ) G G G G   (12.5) min max min (255 0) ( ) . ( ) B B B B   159 12.5. Автоматическое вычисление порога бинаризации цветного изображения Эвристический выбор порога бинаризации T, например на основа- нии визуального изучения гистограммы, требует интерактивного вме- шательства пользователя, что невозможно при автоматической обра- ботке множества изображений. На сегодняшний день задача автомати- ческого вычисления порога бинаризации Т, при котором можно получить высокое качество и скорость бинаризации изображений раз- ных типов при любых условиях съемки, остается нерешенной. Существует несколько способов автоматической подстройки значения порога T. Для схематических и картографических изобра- жений используется метод Бернсена. Однако в этом методе исполь- зуется константа, которая должна подбираться интерактивно. Метод Эйквеля часто применяют для обработки четких и конт- растных изображений. Согласно данному методу изображение об- рабатывается с помощью двух концентрических окон. Но при обра- ботке тонких пересекающихся линий могут возникать разрывы, по- этому данный метод рекомендуется применять исключительно для толстых линий и крупных объектов. Метод Яновица и Брукштейна лучше всего обрабатывает изоб- ражения, которым свойственна яркостная зональная неравномер- ность, при которой одни и те же объекты изображения в разных час- тях имеют значительные различия яркости. К недостаткам данного метода следует отнести крайне медленную скорость работы. Эффективным методом автоматического выбора порога бинари- зации является метод Отсу, который использует гистограмму рас- пределения значений яркости растрового изображения. Этот метод дает хороший результат разделения объектов и однородного фона на полутоновых изображениях. К недостаткам метода Отсу можно отнести размытие и потерю тонких линий, «слипание» объектов в местах их пересечений, а также долгий процесс вычисления зна- чения порога T. Для полной автоматизации и адаптации к разным условиям по- лучения изображений при вычислении порога T рекомендуется ме- тод, который называется алгоритм бинаризации k-средних. 160 Пусть задана некоторая начальная величина порога T, она может быть любой, тогда 1 , ; 1... 2 1... 2 ( , ) 0 , , F T x M y N B x y F T             (12.6) где M, N – соответствующие значения ширины и высоты изображения; B(x, y) – бинарное изображение (функция, принимающая значе- ния 0 или 1); F – градиент изображения. ( , ) 1, ( , ) ( , ) ( , ), 1...α; ( , ) 1, ( , ) ( , ) ( , ), 1...β, i j B x y H R x y G x y B x y i B x y L R x y G x y B x y j             (12.7) где R(x, y), G(x, y), B(x, y) – соответствующие значения интенсив- ности красной, зеленой и голубой компоненты на исходном муль- тиспектральном изображении; ,  – соответствующие значения количества точек перепада и всех оставшихся. 1 11 2 ( 2) ( 2) i j i j H L T M N               (12.8) Из (12.1)–(12.3) видно, что вначале проводится бинаризация изображения с использованием любой оценки порога T. В результа- те образуются две группы пикселей: H – состоящая из пикселей со значением F, большим либо равным T, и L – состоящая из пиксе- лей со значением F < T. Далее находится половина среднего зна- чения яркости пикселей полноцветного изображения по областям H и L соответственно. Полученный результат и будет являться требуе- мым глобальным порогом T для всего изображения, при использова- нии которого и происходит бинаризация по необходимому для задач обработки изображений в масштабе реального времени способу. 161 В оригинальном методе бинаризации k-средних наличие двух неизвестных факторов (начальная оценка значения порога, для вы- числения которой предлагается ряд методов, и значение наперед заданного параметра T0, которое служит ориентиром для количества итераций данного алгоритма) не позволяет с уверенностью приме- нять его на практике, учитывая возникающую неопределенность со временем выполнения алгоритма. Смысл и основная часть ориги- нального метода не менялись, в модифицированном методе измене- нию (точнее ликвидации) подлежали два вышеприведенных фактора. Также важной особенностью модифицированного метода, описан- ного выше, является переход от обработки исходного монохромного изображения к мультиспектральному. Экспериментально выясни- лось, что яркости красной, зеленой и голубой компонент исходного изображения не следует умножать на коэффициент, учитывающий восприятие последних в видимом диапазоне длин волн. В против- ном случае приведенный метод не будет обеспечивать нужное ка- чество бинаризации изображения. На рис. 12.3 представлен пример выполнения бинаризации изоб- ражения с применением оператора Собела и автоматическим вы- числением порога бинаризации T. Рис. 12.3. Пример выполнения бинаризации: а – исходное мультиспектральное изображение; б – бинарное изображение, полученное из а вышеописанным методом 162 12.6. Повышение четкости цветного портрета Повысить четкость цветного портрета можно разными способа- ми. Один из них – преобразовать RGB-изображение в пространство Lab. Это позволяет избежать появления цветных ореолов, которые возникают при значительном увеличении четкости цветного изоб- ражения. Пространство Lab точнее других цветовых пространств моделирует восприятие цвета человеком. Основное отличие цвето- вой модели Lab – в полном разделении цвета и контраста. В моде- лях RGB и CMYK все каналы отвечают за цвет и контраст. В Lab весь контраст содержится в канале L, информация о цвете (точнее, о цветности) – в каналах a и b. Канал L можно представить как чер- но-белую версию цветного изображения. Каналы a и b являются чисто цветовыми. Если изображение не цветное, каналы a и b долж- ны быть серыми, точнее, 50%-ми серыми. Чем дальше от этого уровня серого и ближе к белому или черному, тем красочнее стано- вится изображение. Канал a рассматриваем как изображение с рас- пределением тонов от 0 до 100 %. Величина 50 % – это не пурпур- ный, не зеленый цвета. Более светлые области означают приближе- ние к пурпурному, а более темные – к зеленому. В канале b схема цветов другая: светло-серые области представляют желтый, а тем- но-серые – синий. Уровень 50 % означает нейтральный серый. При обработке цветных изображений Lab всегда является про- межуточным этапом коррекции. Файлы переводятся в это простран- ство для обработки, а по ее завершении конвертируются в про- странство отображения (не обязательно RGB). Этим избегают появ- ления цветных ореолов, поскольку каналы a и b, т. е. каналы, где находится информация о цвете, не задействованы. Опишем алгоритм повышения четкости портрета. Шаг 1. Открыть изображение. Преобразовать из RGB в Lab. Шаг 2. К полутоновому изображению канала L применить фильтр типа нерезкое маскирование, получим Lnew. Шаг 3. Преобразовать изображение Lnewab в изображение RnewGnewBnew. На рис. 12.4 приведен пример применения описанного алгоритма. 163 Рис. 12.4. Пример повышения четкости в пространстве Lab Параметры максимального увеличения четкости применяются: 1) если портрет не в фокусе, поэтому необходимо максимально увеличить его четкость, чтобы попытаться вернуть объекту снимка первоначальную резкость; 2) на снимке много объектов с ярко выраженными границами (например, архитектурные сооружения, монеты, автомобили, какие- либо механизмы и т. п.). Для увеличения резкости в пакете «Фотошоп» используется фильтр Unsharp Mask с параметрами: Amount (величина) – 65 %, Radius (радиус) – 4 и Threshold (порог) – 3. Данные параметры дают максимальное увеличение четкости для сильно расфокусированных изображений, причем фильтр Unsharp Mask с одними и теми же па- раметрами применяется дважды. Описанный алгоритм часто применяется как к снимкам, сделан- ным цифровой камерой в неблагоприятных условиях, так и к отска- нированным. При применении этого алгоритма для увеличения чет- кости портрета, сделанного крупным планом, на лице часто появ- ляются отчетливо видимые поры, морщины и другие недостатки кожи. Если увеличить четкость всех компонент RGB-изображения или четкость только канала L, используя Unsharp Mask, то текстура кожи будет выглядеть грубее, чем на исходном изображении. 164 В этом случае можно выполнить обработку в RGB-пространстве, применив к каналу Red (Красный) фильтр Unsharp Mask, т. е. изме- нить четкость только одного канала Red, а остальные использовать без изменений. Красный канал, как правило, содержит наименьшее количество мелких деталей изображения, поэтому применение фильтра Unsharp Mask к одному этому каналу позволяет повысить четкость только нужных областей лица (глаз, губ и т. д.); при этом четкость текстуры кожи остается практически неизменной, гладкой (рис. 12.5). Если вместо Red использовать канал Blue, то увеличится интенсивность текстуры кожи. Рис. 12.5. Пример повышения четкости изменением только канала R Незначительное увеличение четкости снимков используется для обработки мягких снимков, т. е. сделанных на природе (например, цветов, котят, радуги, людей и т. п.). В этом случае следует исполь- зовать параметры фильтра Unsharp Mask (Amount – 150 %, Radius – 1 и Threshold – 10). Для увеличения четкости web-изображений используют значения Amount – 400 %, Radius – 0,3 и Threshold – 0. Изображение получает- ся мягким и немного размытым. Перед размещением его в Web раз- решение высококачественного снимка уменьшается с 300 до 72 dpi. Если интенсивность эффекта слишком велика, значение параметра Amount можно уменьшить до 200 %. Значение параметра Amount (400 %) используется для сильно расфокусированных снимков. 165 Глава 13. СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЙ Часто изображение представляется для наблюдателя в виде со- вокупности однородных участков. Количество различных типов (или классов) участков обычно невелико, все изображение может быть разделено на непересекающиеся области, каждая из которых заполнена изображением одного из типов. При анализе таких изоб- ражений целью является выделение таких областей и определение их геометрических характеристик. Процесс разделения изображе- ния на однородные области называется сегментацией. Отметим, что похожие по свойствам области относятся к одному классу, но могут располагаться в разных участках изображения. Цель сегментации – разбиение изображения на однородные в определенном смысле области. Обозначим через R область, зани- маемую всем изображением. Сегментацию можно рассматривать как процесс разбиения R на n подобластей R1, R2, …, Rn, – таких, что а) 1 ; n i i R R   б) Ri является связной областью, i = 1, 2, …, n; в) i jR R  для всех i, j = 1, 2, …, n; i ≠ j; г) P(Ri) = ИСТИНА для i = 1, 2, …, n; д) P(Ri Rj) = ЛОЖЬ для i ≠ j. Условие а) означает, что должна быть сегментирована вся об- ласть изображения. Условие б) требует, чтобы пиксели одной облас- ти были связаны. Условие в) – чтобы области не пересекались; условие г) требует однородности пикселей одного класса. Послед- нее условие требует различимости разных классов. Количество признаков, которыми могут отличаться друг от друга области различных типов, может быть различно. Большое разнооб- разие в задачу сегментации вносит обработка цветных изображе- ний. Одним из важнейших признаков для сегментации в этом слу- чае может служить цвет, который дополняет совокупность характе- ристик, применяемых при обработке черно-белых изображений. 166 Единого или универсального подхода к решению задачи сегмен- тации не существует. Существует множество алгоритмов сегмента- ции. Каждый из них предназначен для работы с определенным классом изображений и для решения определенных задач. Основная идея большинства алгоритмов заключается в нахождении соответ- ствий или различий в характеристиках пикселей. Характеристиками могут быть их взаимное расположение, яркость, цвет и текстура. Основные методы сегментации: на основе пороговой обработки; наращивание областей; разделение и слияние областей; сегментация на базе морфологического водораздела. 13.1. Сегментация изображений по яркости на основе пороговой обработки 13.1.1. Вычисление порогов по гистограмме Пороговая обработка, вероятно, самый простой метод сегмента- ции. Метод ориентирован на обработку изображений, отдельные однородные участки которых различаются средней яркостью. Прос- тейшим вариантом сегментации является бинаризация изображе- ния, т. е. сегментация на два типа однородных участков. При этом преобразование каждой точки исходного изображения x(i1, i2) в вы- ходное y(i1, i2) выполняется по правилу 0 1 2 1 2 1 1 2 при ( , ) ; ( , ) при ( , ) , y x i i T y i i y x i i T    (13.1) где T – единственный параметр обработки, называемый порогом. Уровни выходной яркости y0 и y1 могут быть произвольными, они лишь выполняют функции меток, при помощи которых осу- ществляется разметка получаемой карты – отнесение ее точек к классам H0 или H1 соответственно. Часто их значения соответ- ствуют уровням черного и белого. Если существует более двух классов, то при пороговой обработке должно быть задано семейство порогов, отделяющих яркости различных классов друг от друга. 167 Центральным вопросом пороговой сегментации является опреде- ление порогов, которое должно выполняться автоматически. Пред- ложено огромное число методов вычисления порогов, в основном они базируются на анализе гистограммы исходного изображения. Пусть w(x), 0 ≤ x ≤ 255, – гистограмма полутонового изображе- ния. Диапазон яркостей имеет диапазон от 0 до 255. Идея гисто- граммного метода определения порога основывается на предполо- жении о том, что распределения вероятностей для каждого класса унимодальны (т. е. содержат по одному доминирующему пику), а граничных пикселей, разделяющих участки разных классов на изображении, гораздо меньше, чем пикселей, принадлежащих обо- им классам. Этим предположениям соответствует гистограмма, ко- торая имеет многомодальный характер. Отдельные моды (холмы на гистограмме) соответствуют различным классам, а разделяющие их впадины – малочисленным по количеству входящих в них точек граничным областям. Пороги сегментации находятся при этом по положению впадин. Рис. 13.1 иллюстрирует сказанное выше при- менительно к сегментации на два класса. Рис. 13.1. Определение порога по гистограмме при сегментации по яркости на два класса На практике воспользоваться такими простыми соображениями для выбора порога удается крайне редко, так как реальные гисто- граммы обычно имеют множество мелких пиков и сильно изрезаны. В таком случае применяется сглаживание гистограммы как одно- мерного массива данных любым низкочастотным фильтром, описы- ваемым ниже. Вторым препятствием является то, что границы между однородными участками на изображении бывают размыты, вслед- 168 ствие чего уровень гистограммы в тех ее частях, которые отобра- жают точки границы, возрастает. Это приводит к уменьшению про- валов в гистограмме или даже их исчезновению. Если на темном фоне присутствуют светлые и белые предметы, гистограмма будет иметь три пика. Сегментацию можно выполнить с помощью двух порогов. Аналогично выполняется сегментация по цвету. Строятся гистограммы отдельных цветов, или исходное изображение преобразуется в другое цветовое представление, например HSI, Lab, затем выполняется сегментация по I, L или ab. Алгоритмы, адаптирующие свое поведение, основываясь на ста- тистиках обрабатываемого изображения, обладают большей устой- чивостью к изменению характеристик изображения. 13.1.2. Алгоритм сегментации методом k-средних Шаг 1. Загрузить изображение, задать число классов k, на кото- рое нужно разбить изображение. Определить признаки, по которым выполняется сегментация. Например, для полутоновых изображе- ний можно использовать яркость. Все пиксели рассматриваются как набор векторов xi , i = 1, …, p. Шаг 2. Определить k векторов mj, j = 1, …, k , которые объявля- ются начальными центрами кластеров. Для этого выбрать значения mj, j = 1, …, k (случайным образом или вычислить). Шаг 3. Обновить значения средних векторов mj, j = 1, …, k (цент- ров кластеров). Для этого вычислить расстояние от каждого xi, i = 1, …, p, до каждого mj, j = 1, …, k. Отнести (приписать) каждый xi к кластеру j', расстояние до центра которого mj' минимально. Пе- ресчитать средние mj по всем кластерам. Шаг 4. Повторять шаги 2 и 3, пока центры кластеров не переста- нут изменяться. 13.1.3. Сегментация по принципу Вебера Опишем алгоритм сегментации полутоновых изображений, ос- нованный на принципе Вебера. Принцип Вебера подразумевает, что различия уровней серого W(I), которые могут быть замечены чело- веческим глазом, – это нелинейные функции градаций серого I. простейшей функцией Вебера является 169 2 12 20 , 0 88; 88 ( ) 0.002( 88) 8, 88 138; 7( 138) 13, 138 255. 255 138 I I W I I I I I             (13.2) В соответствии с принципом Вебера человеческий глаз едва ли различает отличия уровней серого между [I(n), I(n) + W(I(n))], по- этому можно объединить уровни серого из диапазона [I(n), I(n)+W(I(n))], заменив их одним значением яркости. По принципу Вебера, которому удовлетворяют характеристики, различимые человеческим глазом, алгоритм нелинейного преоб- разования уровней серого для полутоновых изображений будет выглядеть следующим образом. Шаг 1. Установить номер первого класса n = 1 и начальный уро- вень серого I(n) = 0. Шаг 2. Вычислить значение W(I(n)), соответствующее яркости I(n) по формуле Вебера. Шаг 3. В исходном изображении I установить значения яркости I(n) для всех пикселей, яркость которых находится в диапазоне [I(n), I(n) + W(I(n))]. Шаг 4. Найти пиксели, значение яркости которых выше G = I(n) + W(I(n)) + 1. Если такие пиксели есть, увеличить номер класса n = n + 1, I(n) = G, перейти к шагу 2. Если таких нет, закончить работу. Изображение сегментировано на n классов, каждый класс показан яркостью W(I(n)). Этот способ сегментации можно выполнить, построив LUT, вы- числяя новые яркости с помощью функции Вебера, заменив исходные значения яркости найденными номерами классов одномоментно. При сегментации цветных изображений можно использовать статистические характеристики в окрестности пикселя: например, отклонение каждой из цветовых компонент от среднего значения по окрестности, дисперсию каждой цветовой компоненты в окрестнос- ти пикселя и т. д. 170 Существуют известные рекурсивные алгоритмы для простого случая разбиения по яркости – так называемый алгоритм наращива- ния областей (Region Growing). 13.1.4. Алгоритм сегментации Вежневца Вежневец разработал следующий итеративный алгоритм сег- ментации. Шаг 1. Начать обход изображения из левого верхнего угла. Объ- явить левый верхний пиксель изображения новым классом С1. Для пикселей первой строки вычислить отклонение от класса ле- вого пикселя и сравнить с заданным порогом. Если оно меньше по- рога, добавить пиксель к классу соседа, иначе – завести новый класс Ci+1. Принадлежность к классу можно отметить номером класса в матрице такого же размера, как, например, матрица, соответству- ющая компоненте R (красный цвет). Шаг 2. Первый пиксель каждой следующей строки сравнить с классом верхнего соседнего пикселя. Далее сравнивать пиксель с классами двух соседей: левого и верхнего. Если отклонение от обоих классов больше порога, то завести но- вый класс; если отклонение больше лишь для одного класса, то до- бавить пиксель к тому классу, отклонение от которого меньше по- рога. Если отклонение допустимо для обоих классов, возможны два варианта: 1) L(g(Ci) – g(Cj)) < δ – объединить эти два класса (если это не один и тот же класс) и к объединенному классу добавить текущий пиксель; 2) L(g(Ci) – g(Cj)) > δ – добавить пиксель к тому из двух классов, от которого отклонение минимально. В качестве меры L можно использовать любую функцию рассто- яния (например, разность в RGB-пространстве). Отметим, что алгоритм использует 4-связность пикселей, но возможна реализация и для 8-связных областей. Результат сегмен- тации представлен на рис. 13.2. 171 Рис. 13.2. Сегментация изображения с δ = 50 13.1.5. Сегментация по цвету кожи Использование цвета кожи как свойства лица при нахождении лиц на изображениях хорошо зарекомендовало себя на предварительном этапе в процессе распознавания людей, так как цвет кожи не зависит от ориентации лица; анализ цвета пикселей вычислительно эффекти- вен. В литературе описано много подходов к сегментации цветных изображений с целью выделения на фотографиях людей таких обла- стей, которые соответствуют цвету кожи. Далее в найденных обла- стях выполняется детекция лица человека и его распознавание. Задача Выполнить сегментацию изображения по цвету кожи. Решение состоит в нахождении критерия оценки близости цвета каждого пик- селя к оттенку кожи. Определить понятие «оттенок кожи» математи- чески невозможно, так как оно основано на человеческом восприятии цвета: меняется при изменении освещения, отличается у разных рас. Тем не менее существует ряд подходов к решению этой задачи. Их суть заключается в описании некоторой модели распределения цвета кожи, с помощью которой и оценивается принадлежность цвета ко- же. Разработка модели цвета кожи разбивается на три этапа: накопление тренировочных данных с использованием изображе- ний, на которых указывают область «кожи» и «не-кожи». По этим данным накапливается статистика оттенков кожи (иногда гисто- грамма оттенков, к коже не относящихся, т. е. «не-кожи»); 172 обработка полученной статистики и выбор параметров модели цвета кожи для последующего использования. Выбор критериев оценки принадлежности пикселей к области кожи; обработка изображений с использованием полученных критериев. Простейшими (но не всегда дающими корректные результаты) вариантами такой сегментации является разделение цветовых моде- лей RGB или других по порогу. Рассмотрим пороговые критерии, которые в качестве модели цвета кожи используют многогранник, заданный в определенном цветовом пространстве, т. е. задается набор правил для контекстно-независимой сегментации. Будем счи- тать, что цвет пикселя (R, G, B) причисляется к области кожи, если выполнены следующие условия: R > 95 и G > 40 и B < 20 и max{R, G, B} – min{R, G, B} > 15 и |R – G| > 15 и (13.3) R > G и R > B или R > 220 и G > 210 и B > 170 и (13.4) |R – G| ≤ 15 и R > B и G > B. Другой вариант:    2 21,185 и 0,107 и 0,112 , r rb rg g r g b r g b                         (13.5) где r = R / (R + G + B); g = G / (R + G + B); b = B / (R + G + B). 173 После такой сегментации необходимо выполнить морфологиче- скую или медианную фильтрацию. Пример сегментации представ- лен на рис. 13.3. Рис. 13.3. Пример сегментации по цвету кожи Преимущества таких подходов: простота реализации, не требуется обучение. Недостатки: цветовое пространство и набор правил необ- ходимо подбирать эмпирически; часто случается неточная сегмента- ция кожи; трудно подобрать единые критерии к людям разных рас. 13.2. Статистический подход к текстурной сегментации В цифровой обработке изображений для описания текстуры при- меняются два основных подхода: статистический и структурный. Статистические методы позволяют охарактеризовать текстуру области как гладкую, грубую, зернистую. Структурные методы определяют и описывают взаимное распо- ложение простейших повторяющихся элементов изображения: например, отрезки параллельных линий, проходящих с постоянным шагом, шахматная доска. Рассмотрим статистический подход к сег- ментации изображения на примере изображения, содержащего два типа областей, представленных разными текстурами (рис. 13.4). Результат сегментации – разбиение изображения на два типа обла- стей: водную поверхность и сушу. Это невозможно сделать метода- ми бинаризации, но только путем анализа параметров текстуры в окрестности каждого пикселя. 174 Рис. 13.4. Пример изображения с областями текстуры разных типов, соответствующих суше и воде Алгоритм сегментации посредством текстурного анализа Шаг 1. Считать изображение. Шаг 2. Определить параметры текстуры на изображении. Будем считать, что яркости в пикселях изображения – это случайная величина z, ей соответствует вероятность распределения p(zi), i = 0, 1, 2, ..., L – 1, взятая из гистограммы (L – число уровней яркости). Центральный момент порядка n случайной величины zi: 1 0 ( ) ( ) ( ), L n n i i i z z m p z      (13.6) где m – среднее значение z (средняя яркость изображения): 1 0 ( ). L i i i m z p z     (13.7) Из формулы (13.6) следует, что μ0 = 1 и μ1 = 0. Для описания тек- стуры важен второй момент, т. е. дисперсия σ2(z) = μ2(z). Она явля- ется мерой яркостного контраста, что можно использовать для вы- числения признаков относительной гладкости, например: 175 2 1 1 1 ( ) R z     (13.8) равно нулю для областей постоянной яркости (где дисперсия нуле- вая) и приближается к единице для больших значений σ2(z). По- скольку для полутоновых изображений с яркостью от 0 до 255 зна- чения дисперсии велики, целесообразно нормировать дисперсию до интервала [0, 1]. Для этого необходимо поделить σ2(z) на (L – 1)2. Значение стандартного отклонения s = σ(z) (13.9) также часто используется в качестве характеристики текстуры. Тре- тий момент является характеристикой симметрии гистограммы: 1 3 3 0 ( ) ( ) ( ). L i i i z z m p z      (13.10) Для оценки текстурных особенностей используется функция энт- ропии, определяющая разброс по яркости соседних пикселей: 1 2 0 ( )log ( ), L i i e p z p z     (13.11) где e – значение энтропии в текущей точке; p(zi) – вероятность текущей яркости в окрестности точки; L – количество уровней яркости Для описания текстуры также используется мера однородности, оценивающая равномерность гистограммы: 1 2 0 ( ). L i i U p z     (13.12) В табл. 13.1 приведены значения описанных выше характеристик для текстур трех видов: гладкой, грубой и периодичной. 176 Таблица 13.1 Параметры трех различных типов текстур Текстура Среднее Стандарт- ное от- клонение R (норм) Третий момент Однород род- ность Энтро- пия Гладкая 82,64 11,79 0,002 –0,105 0,026 5,434 Грубая 143,56 74,63 0,0079 –0,151 0,005 7,783 Периоди- ческая 99,72 33,73 0,017 0,750 0,013 6,674 Шаг 3. Создать маску для выделения более крупной текстуры. На изображении имеются текстуры двух типов: крупной и более мелкой, более зернистой. Вторая соответствует водной зоне. Для отделения одной области от другой создать маску, которая удаляет маленькие объекты. Для этого использовать функцию определения связного множества пикселей на бинарном изображении и вычис- лить площади полученных объектов. Использовать тип связности «восемь». Если цвет соседей совпадает, то они принадлежат одному объекту, в противном случае – к различным. Все объекты с пло- щадью, меньшей заданной величины S, удалить. Результат текстурной фильтрации на базе вычисления энтропии по формуле (13.11) в окне 9 × 9 представлен на рис. 13.5. Маска водной поверхности после удаления объектов малой пло- щади и результат сегментации суши представлен на рис. 13.6. Рис. 13.5. Результат текстурной фильтрации на базе вычисления энтропии по формуле (13.6) в окне 9 × 9. Области двух текстур показаны темными (вода) и светлыми (суша) оттенками 177 Рис. 13.6. Маска водной поверхности после удаления объектов малой площади и результат сегментации суши Для сегментации двух указанных типов текстур можно исполь- зовать разные текстурные признаки: например, пары признаков, вычисляемых по формулам (13.2)–(13.4), (13.3)–(13.5), (13.2)–(13.6), (13.4)–(13.7), (13.6)–(13.7), (13.5)–(13.4), (13.2)–(13.3), (13.3)–(13.7), (13.4)–(13.6), и др. 13.3. Сегментация методом морфологического водораздела В этом методе полутоновое изображение рассматривается как циф- ровая модель местности, где значения яркости представляют собой значения высот относительно некоторого уровня, т. е. изображение – это матрица высот. Если на такую местность льет дождь, образуется множество бассейнов. Вода заполняет маленькие бассейны, затем из переполненных бассейнов выливается, и бассейны объединяются в более крупные по высотам уровня воды. Места объединения бассей- нов отмечаются как линии водораздела. В итоге вся местность может быть затоплена. Результат сегментации зависит от «прекращения до- ждя». Если процесс остановить рано, изображение будет сегментиро- вано на мелкие области, если поздно – на очень крупные. В такой интерпретации все пиксели делятся на три типа: а) локальные минимумы; б) находящиеся на склоне, т. е. с которых вода скатывается в один и тот же локальный минимум; в) локальные максимумы, т. е. с которых вода скатывается более чем в один минимум. При сегментации с помощью этого метода на изображении нуж- но определить «водосборные бассейны» и «линии водораздела» пу- 178 тем обработки локальных областей в зависимости от их яркостных характеристик. При реализации метода водораздела выполняются следующие основные шаги. 1. Вычисляется функция сегментации. Она касается изображе- ний, где объекты размещены в темных областях и являются трудно- различимыми. 2. Вычисляются маркеры переднего плана изображений. Они вычисляются на основании анализа связности пикселей каждого объекта. 3. Вычисляются фоновые маркеры. Они представляют собой пиксели, которые не являются частями объектов. 4. На основании значений расположения маркеров фона и марке- ров переднего плана модифицируется функция сегментации. Одним из важнейших этапов сегментации по водоразделам явля- ется выделение на фоне изображения однородных по яркости объ- ектов (в виде пятен). Области, характеризующиеся малыми вариа- циями яркости, имеют малые значения градиента, поэтому на прак- тике метод сегментации по водоразделам часто применяется не к самому изображению, а к его градиентному представлению. Выводы по разделу II Общей теории обработки изображений не существует. Какой ме- тод использовать при решении конкретной практической задачи, за- висит от знаний и опыта исполнителя. Если задача многоразовая, т. е. регулярно повторяется последовательность действий, меняются только исходные данные, нарабатываются определенные алгоритмы обработки и параметры. Примером может служить ретушь фотогра- фий для документов – пользовательский вариант обработки изобра- жений. Для него достаточно освоить один – два пакета обработки и следить за обновлениями, осваивая новые возможности. Если исходные изображения относятся к разным классам, классы периодически меняются, – это исследовательский тип обработки изображений. В этом случае разносторонние знания методов обра- ботки подскажут ее правильную технологию. В обоих случаях знание основных методов, их суть и параметры ускоряют исполнителю путь к получению желаемого результата. 179 Раздел III. ПРИМЕРЫ ПРИМЕНЕНИЯ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ Глава 14. РЕШЕНИЕ ПРИКЛАДНЫХ ЗАДАЧ Как правило, при решении реальных задач обработки изображе- ний недостаточно применения одного метода. Требуется последова- тельное, а нередко итерационное, применение нескольких методов. Возникает проблема выбора методов и их конкретных параметров. Рассмотрим примеры решения реальных задач. 14.1. Повышение контраста рентгеновских изображений Задача Рентгеновские изображения часто имеют слабый контраст, плохую проработку деталей и не всегда можно сделать повторный снимок. Для улучшения таких снимков возникает необходимость цифровой обработки. Например, исходное изображение (рис. 14.1) низкоконтрастное, что затрудняет анализ мелких деталей. а б в Рис. 14.1. Повышение контраста рентгеновского изображения Решение Для улучшения снимка можно сначала применить линейное рас- тяжение гистограммы исходного изображения на максимальный диапазон [0, …, 255] по формуле (9.12) (рис. 14.1, б). 180 Затем выполнить локальное контрастирование изображения. Шаг 1. Выполнить усредняющую фильтрацию изображения L с ядром фильтра 3 × 3. Обозначим результат Lус. Шаг 2. Вычислить значения локального контраста каждого пик- селя (i, j): C = |(L–Lус) / (L+Lус)|0.55. Шаг 3. Для каждого пикселя (i, j): если L(i, j) > Lус(i, j), Lрез(i, j) = Lус(i, j)∙(1 + C(i, j)) / (1 – C(i, j)), иначе Lрез(i, j) = Lус(i, j)∙(1 – C(i, j)) / (1 + C(i, j)). Результирующее изображение Lрез визуально контрастнее исход- ного рентгеновского изображения (рис. 14.1, в). 14.2. Морфологическая фильтрация бинарных изображений Морфологические операции можно использовать для построения фильтров, по принципу работы похожих на пространственные фильтры. На рис. 14.2 показано бинарное изображение фрагмента отпечатка пальца, искаженное шумом, в виде светлых точек на тем- ном фоне и темных – на светлых полосах, составляющих отпечаток. Задача состоит в устранении шума при минимальном искажении формы отпечатка. Для решения этой задачи можно применить мор- фологический фильтр, вначале выполняющий операцию размыка- ния, затем – замыкания. На рис. 14.2, б представлен примитив, остальные части рисунка иллюстрируют последовательность шагов операции фильтрации. Шум в фоновой области изображения пол- ностью устраняется на этапе эрозии (рис. 14.2, в), входящем в со- став операции размыкания, поскольку в данном примере физиче- ские размеры всех составляющих шума меньше размеров примити- ва. Однако шумовые компоненты в виде темных пятен на отпечатке увеличились в размерах. Такое расширение нейтрализуется путем дилатации, что приводит к результату, показанному на рис. 14.2, г. Видно, что шумовые составляющие на полосах отпечатка пальца 181 уменьшились в размерах или полностью исчезли. Две описанные выше операции вместе (эрозия и дилатация) составляют операцию размыкания исходного изображения по примитиву, представленно- му на рис. 14.2, б. Из рис. 14.2, г видно, что результирующий эф- фект от размыкания состоит в устранении практически всех шумо- вых составляющих как фоновой области, так и на самом отпечатке. Однако в результате этой операции появились ранее отсутствовав- шие пропуски на полосах отпечатка. Чтобы преодолеть этот нежела- тельный эффект, можно к результату размыкания применить опера- цию дилатации, как показано на рис. 14.2, д. В большинстве указан- ных промежутков целостность полос восстановилась, однако полосы стали шире. Такое увеличение можно скомпенсировать эрозией. а 1 1 1 1 1 1 1 1 1 б в г д е Рис. 14.2. Повышение качества отпечатка пальца (а) путем морфологической фильтрации: б – примитив; в – изображение после применения операции эрозии; г – результат размыкания исходного изображения; д – дилатация результата размыкания; е – замыкание результата размыкания Результат, представленный на рис. 14.2, е, получен путем приме- нения операции замыкания к ранее построенному размыканию ис- ходного изображения, представленному на рис. 14.2, г. В результате отсутствуют шумовые точки, хотя некоторые из полос отпечатка пальца восстановлены не полностью, содержат разрывы. Этого можно было ожидать, поскольку в описываемую процедуру не было заложено никаких условий для сохранения связности. 182 14.3. Коррекция фона при неравномерном освещении сцены при анализе изображений Задача Дано изображение сцены с неравномерным освещением (рис. 14.3), автоматический анализ объектов, представленных на изображении, затруднен. Требуется выполнить коррекцию фона, сделав его одно- родным. Рис. 14.3. Изображение с неравномерным фоном при неравномерном освещении сцены при регистрации Алгоритм возможного решения Шаг 1. Загрузить изображение. Шаг 2. Применить морфологическую операцию отмыкания для оценки фона (рис. 14.4). Шаг 3. Попиксельно вычесть яркость фона из исходного изоб- ражения. Выполнить линейное растяжение контраста полученного изображения (рис. 14.5). Шаг 4. Выполнить бинаризацию изображения методом Отсу (см. рис. 14.5). Шаг 5. Выполнить выделение объектов как связных компонен- тов на бинарном изображении и отобразить их (рис. 14.6). 183 Рис. 14.4. Яркость фона предыдущего изображения, полученная после операции отмыкания с плоским структурным элементом радиуса 15 а б Рис. 14.5. Изображение после выполнения шага 3 (а) и шага 4 (б) 184 Рис. 14.6. Выделенные объекты Шаг 6. Вычислить характеристики выделенных объектов. 14.4. Повышение разрешения мультиспектрального изображения Задача Дано: мультиспектральные спутниковые изображения в диапа- зонах B, G, R, NIR (ближний инфракрасный) и Pan (панхроматиче- ский), имеющий разрешение выше предыдущих в два или четыре раза. Требуется повысить разрешение мультиспектральных изобра- жений до уровня панхроматического и подготовить их к отображе- нию в виде цветного изображения. Такая процедура называется слиянием с панхроматическим каналом (Pansharpening) и объединя- ет данные панхроматического изображения местности с многока- нальным набором растровых изображений этой же местности более низкого разрешения. В результате получается композитное цветное изображение местности с таким же разрешением, как у панхрома- тического изображения: например, для спутника IKONOS оно по- вышается в четыре раза (рис. 14.7). Такая процедура используется при отображении местности в Google.maps. Отметим, что масшта- бирование исходных R, G, B изображений даст размытое изображение. 185 Рис. 14.7. Процедура Pansharpening снимков спутника «Иконос» Решение Кратко опишем идеи, использованные в простых методах реше- ния данной задачи. Самым простым является алгоритм Бровея. Шаг 1. Повысить разрешение изображений R, G, B до разреше- ния изображения Pan (увеличить до одинакового размера). Шаг 2. Для каждого пикселя (i, j) спектральных изображений скорректировать значения яркости: Rout (i, j) = R(i, j)Pan(i, j) / ( B(i, j) + G(i, j) + R(i, j) ); Gout (i, j) = G(i, j)Pan(i, j) / ( B(i, j) + G(i, j) + R(i, j) ); Bout (i, j) = B(i, j)Pan(i, j) / ( B(i, j) + G(i, j) + R(i, j) ). Шаг 3. Полученные спектральные изображения Rout, Gout, Bout объединить в виде цветного изображения RGB. Этот алгоритм быстр, но искажает цветовые характеристики. 186 Если панхроматический канал покрывает диапазон ближнего инфракрасного канала, то вычитание взвешенного вклада инфра- красного диапазона из панхроматического канала уменьшает цвето- вые искажения. Формулы шага 2 с использованием весов DNF для каждого пиксела каждого канала приобретают вид: DNF(i, j) = (Pan(i, j) – NIRwNIR(i, j)) / (RwR(i, j) + GwG(i, j) + BwB(i, j)), Rout (i, j) = R(i, j)DNF(i, j); Gout(i, j) = G(i, j)DNF(i, j); Bout (i, j) = B(i, j)DNF(i, j); Iout (i, j) = I(i, j)DNF(i, j), где Pan – панхроматический; R – красный; G – зеленый; B – синий; NIR – ближний инфракрасный каналы; NIRw, Rw, Gw, Bw – константы для разных каналов. Еще один вариант алгоритма операции Pansharpening – преоб- разование из RGB в другое цветовое пространство, например в IHS. В нем корректируется яркостная компонента. Шаг 1. Повысить разрешение изображений R, G, B до разреше- ния изображения Pan (увеличить до одинакового размера). Шаг 2. Объединить их в цветное изображение RGB и преобразо- вать в пространство IHS. Шаг 3. Построить гистограммы изображений Pan и компоненты I. Преобразовать форму гистограммы I в форму гистограммы Pan (см. п. 9.5) и получить новое представление яркостной компоненты Iout. Шаг 4. В IHS заменить яркостную компоненту на Inew и выпол- нить преобразование из представления Iout HS в Rout Gout Bout. Последний шаг всех алгоритмов: выполнить переквантование значений яркости полученного цветного изображения в 8-битовое представление (см. п. 2.2.2). 187 14.5. Детекция дорожных знаков Задача Автоматически найти на видео предупреждающие дорожные знаки (рис. 14.8); скорость обработки кадров (не менее 10 кадров/с). Рис. 14.8. Предупреждающие дорожные знаки Для этого необходимо решить следующие задачи: преобразование цветового пространства; удаление шумов; выделение областей интереса; распознавание типа знака. Шаг 1. Преобразование цветового пространства. Все предупреждающие дорожные знаки имеют общий признак – контур красного цвета (см. рис. 14.8). Соответственно первоначаль- ный поиск объектов интереса заключается в определении областей красного цвета. Входное изображение цветное, представлено в цветовом про- странстве RGB. Для детекции знаков по цвету целесообразнее ис- пользовать другое цветовое пространство, например YCbCr. Для конвертации из RGB в YCbCr используется уравнение 16 65,481 128,553 24,966 128 37,797 74,203 112 . 112 93,786 18,214128 b r Y R C G BC                                  (14.1) Для сегментации изображения по красному цвету можно исполь- зовать Cr-cоставляющую, но она содержит шумы. Шаг 2. Удалить шумы на изображении. Для этого требуется вы- полнить фильтрацию изображения. Фильтрацию можно выполнять 188 разными способами: а) на полутоновом представлении Cb или б) на бинарном. Для получения бинарного изображения выполняется операция бинаризации изображения Cr (рис. 14.9). Рис. 14.9. Бинарное представление Cr-составляющей реального изображения, содержащего знак Однако для удаления мелких объектов (рис. 14.10, а) в обоих случаях требуется использовать морфологические фильтры «раз- мыкание» и «замыкание». Рис. 14.10. Изображение 14.9 после медианной фильтрации: б – с морфологической фильтрацией, а – без Очевидно, что одного цветового признака для определения при- надлежности выделенного объекта к классу дорожных знаков недо- статочно, так как на изображении могут находиться другие объекты красного цвета (например, автомобили, рекламные доски). Второй признак класса рассматриваемых дорожных знаков, который можно использовать, – форма правильного треугольника. Для определения формы необходимо провести анализ объектов независимо друг от друга. Сначала выделяется граница каждого объекта. Граница определяет местоположение объекта на изобра- жении, но не определяет его форму. Для идентификации типа объ- екта необходимо определить углы между тремя прямыми, которые аппроксимируют его контур. С этой целью с каждой стороны объ- екта выбираются несколько граничных точек, которые аппроксими- руются тремя прямыми (рис. 14.11). а б 189 Рис. 14.11. Изображение При условии, что прямая проходит через две заданные точки с координатами (x1, y1) и (x2, y2), угол между двумя такими прямыми определяется по формулам 2 1;A y y  1 2B x x  (14.2) 1 2 1 2 2 2 2 2 1 1 2 2 cos . A A B B A B A B     Объект считается распознанным как знак, если 60°−Δφ ≤ φ ≤ 60°+Δφ, где φ – угол между прямыми, Δφ – допустимое отклонение угла. Далее выполняется распознавание конкретного знака путем ана- лиза его внутреннего содержания. 14.6. Автоматическое определение нефтяных пятен Пятна нефтяных разливов на воде могут быть обнаружены путем изображений дистанционного зондирования из-за резкого контраста между областями пятен нефти и окружающей воды. 190 Один из подходов состоит в использовании спектральных индек- сов на основе соотношения яркости изображений, зарегистрирован- ных в синем (380–500 нм) и красном (600–760 нм) диапазонах элект- ромагнитного спектра. Идея состоит в детекции процесса флуорес- ценции поверхности пятен нефти и увеличенного отражения в красном диапазоне находящихся под ними слоев нефти. Индекс флуоресценции FI вычисляется для всех пикселей мульти- спектральных изображений синего и красного диапазонов спектра по формуле (это формула вычисления контраста по двум изображениям) FI = (B – R) / (B + R). (14.3) Нефтяные пятна на воде меняют оптические свойства в зависи- мости от угла падения солнечных лучей и геометрии регистрации спутниковыми датчиками. Нефтяные пятна практически не видны на безбликовых изображениях, но могут быть заметны в виде до- вольно темных пятен (из-за отрицательного контраста) при низких или умеренных солнечных бликах либо при довольно ярких пятнах (из-за положительного контраста) при сильных солнечных бликах. 14.7. Контроль отверстий в балках В конце 1970-х гг. инженер из Милуоки разработал систему ма- шинного зрения для подсчета количества болтовых отверстий в по- перечных балках, изготовленных для компаний-производителей грузовых автомобилей. Для получения цифрового изображения поперечной балки под транспортировочной линией были помещены осветители, а над линией была расположена видеокамера. На изображении темные пиксели в области тени от балки имеют значения 1 и обозначают сталь, а пик- сели в области светлых просверленных отверстий имеют значение 0. Количество отверстий вычисляется как четверть разности количества внешних и внутренних углов. На рис. 14.12 показаны три светлых от- верстия (значения 0) на темном фоне (значения 1). Внешний угол (ex- ternal corner) – это окрестность 2 × 2 соседних пикселей, содержащая три единицы, а внутренний угол (internal corner) – окрестность 2 × 2 соседних пикселей, содержащая три нулевых значения. На рис. 14.12 показан пример обработки изображения из 7 строк и 16 столбцов. Ниже также схематично описан алгоритм обработки. 191 1. 1 1 1 0     1 0 1 1     0 1 1 1     1 1 0 1     2. 0 0 0 1     0 1 0 0     1 0 0 0     0 0 1 0     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 e i 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 2 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 3 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 4 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 5 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 e i 0 e e e e e e 6 0 1 e i 1 1 2 e e e e i e e i 6 2 3 e i i e i i 2 4 4 e i i e e e 4 2 5 e e 2 0 6 0 0 Рис. 14.12. Подсчет отверстий на бинарном изображении: 1. а – шаблоны окрестностей 2 × 2 пикселей, представляющие «внешние углы»; 2. б – шаблоны окрестностей 2 × 2 пикселей, представляющие «внутренние углы»; 3. в – три светлых отверстия на темном фоне; 4. г – входное бинарное изображение с размерами 7 строк и 16 столбцов; 5. д – символами «e» и «i» отмечены окрестности, соответствующие внешним и внутренним углам 3. 4. 5. 192 Схема алгоритма Входные данные – бинарное изображение, выходные данные – количество найденных отверстий. Обозначения: M – бинарное изображение из R строк и C столбцов; значения «1» представляют материал, не пропускающий свет; значения «0» обозначают отсутствие материала, воспринимаемое за счет прохождения света при освещении объекта «на просвет». Каждая область из «00» должна быть 4-связной, и все граничные пиксели изображения должны быть равны «1». E – счетчик внешних углов (три единицы и один нуль в окрест- ности 2 × 2); I – счетчик внутренних углов (три нуля и одна единица в окрест- ности 2 × 2). integer procedure Count_Holes (M) { обработать все изображение по две строки на каждом шаге; подсчитать количество внешних углов E; подсчитать количество внутренних углов I; вернуть в качестве результата (number_of_holes = (E – I) / 4); }. 14.8. Улучшение изображений в системах видеонаблюдения Изображения, которые регистрируются системой видеонаблюде- ния, не всегда качественны, поскольку системы регистрируют изоб- ражения в различных погодных условиях, при разном освещении. Рассмотрим, как в системах видеонаблюдения можно улучшить низкокачественные изображения. 14.8.1. Усиление контрастности Низкий контраст является одним из наиболее распространенных дефектов фотографических и телевизионных изображений. Причины могут быть самые различные: плохое качество аппаратуры, внешние условия и т. п. Что касается систем видеонаблюдения, то в этом случае 193 недостаточно высокое качество регистрируемых изображений объяс- няется условиями съемки (погодные условия, темное время суток). Исходное изображение цветное, поэтому можно цветовые ком- поненты обрабатывать независимо. Выполним нерезкое маскирова- ние путем свертки каждой компоненты с ядром фильтра: 1 4 1 1 4 26 4 . 6 1 4 1            Изображение становится более контрастным (рис. 14.13). а б Рис. 14.13. Исходное (а) и обработанное (б) изображения 14.8.2. Коррекция динамического диапазона яркости При недостаточном освещении регистрируемые изображения имеют узкий динамический диапазон значений. Поэтому коррекция диапазона в системах видеонаблюдения очень актуальна. Независимо выполним нелинейное растяжение гистограммы для трех цветовых компонент по формуле Kstretch = ((K – Kmin) / (Kmax– Kmin))a. (14.4) 194 Затем выполним медианную фильтрацию. Фильтрация необхо- дима, поскольку после контрастирования темных изображений они имеют зернистый вид. Результат фильтрации и коррекции динами- ческого диапазона представлен на рис. 14.14–14.15. а б Рис. 14.14. Исходное изображение после применения операции: а – контрастирования; б – фильтрации а б Рис. 14.15. Исходное изображение (а) и результат контрастирования (б) 195 Глава 15. ПРОГРАММНЫЕ СРЕДСТВА ОБРАБОТКИ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ В данной главе не рассматриваются пакеты обработки изображе- ний типа Adobe Photoshop «Фотошоп». Назначение этого пакета – интерактивное редактирование изображений. Его коды закрыты, и вся обработка изображений выполняется нажатием комбинации клавиш и мыши без описания алгоритмов преобразования и обра- ботки изображений. 15.1. Писать код или взять из готовой библиотеки? Многие разработчики программных комплексов рано или поздно сталкивались с выбором: разработать что-то недостающее самому или приобрести готовое? Готовые коды, как правило, продаются в виде библиотек, но есть и открытые библиотеки. Несомненно, если взять функцию из уже существующей библиоте- ки, разработка проекта будет закончена намного быстрее. Разработчик будет концентрироваться именно на задаче, а не вспомогательной ин- фраструктуре. Однако библиотеки обычно пишутся для универсально- го применения, решения множества различных задач. Часто их код довольно громоздок для понимания и не всегда оптимален для реше- ния конкретной задачи. Если разработчик реализует собственное ре- шение, то напишет его оптимальным (согласно опыту) способом и бу- дет конкретизировать его именно под свою задачу. При использовании библиотеки имеется решение, оттестирован- ное множеством пользователей. Если же все-таки будет найдена ошибка, то в интернете можно найти советы людей, сталкивавших- ся с ней. Однако, если с этой ошибкой никто не сталкивался или о ней никто не пишет, можно потратить много времени, чтобы разо- браться, почему что-то не работает, ведь код библиотеки может быть довольно громоздким и не всегда доступным. Если разработчик писал весь код сам, то он хорошо в нем ориен- тируется и найдет ошибку просто. Но ошибок, скорее всего, будет значительно больше, так как тестировал этот код только разработчик. Если он пишете код с нуля, то есть вероятность, что из вида будет упущен какой-нибудь редкий случай, который в библиотеке со вре- менем же выявили и закодировали. 196 Если работает в команду разработчика приходит новый работник, есть вероятность, что он уже работал с методами, реализованными в библиотеке (либо его берут с соответствующим опытом). Если же разработчик использует свое собственное решение, то новому со- труднику придется разбираться в деталях его работы. С другой сто- роны, написать самому код, который уже реализован в библиотеках, весьма непросто (особенно для начинающих). Для этого нужен высо- коквалифицированный специалист, иначе все остальные преимуще- ства собственного решения сведутся на нет. Резюмируем достоинства и недостатки каждого подхода. Достоинства: быстрая разработка проекта; код оттестирован многими пользователями; новичкам можно объяснить, как работает программа; решает проблемы, которые могли не предвидеть, реализуя функ- цию библиотеки самостоятельно; программист концентрируется на основной задаче, а не на вспо- могательных; разработка собственной библиотеки стоит большего количества человека-часов, чем готовая. Недостатки: обычно программные компоненты продаются с лицензиями на каждый компьютер и стоимость всех лицензий может превысить стоимость собственной разработки; очень много классов, сложная общая архитектура, тяжело разби- раться в возникающих ошибках; программный продукт может не содержать специфичную функ- цию, которая нужна для вашей задачи; нет возможности решить данную задачу оптимальным способом, требуется загрузка множества ненужных для данного проекта функций; могут возникнуть проблемы с обновлением библиотеки в будущем; чаще всего для проекта требуется несколько библиотек, из каж- дой используется только часть функции; к чужой библиотеке тоже надо писать код, разбираться в доку- ментации. 197 Достоинства при использовании собственной разработки: члены команды знают, как работает программа; проще искать причины ошибок, так как написанный код мини- мален; максимально производительное решение; возможность развития библиотеки в нужном направлении. Недостатки: требуется высококвалифицированный разработчик для написа- ния хорошей библиотеки; длительность разработки; содержится большое количество ошибок, особенно на стадии внедрения; новички не знают, как работает программа. Не стоит писать программы: если разработчик не обладает необходимой квалификацией (как программист или конкретно в этой области) для качественной реа- лизации этой библиотеки; речь идет об одной из стандартных функций, которые использу- ются в библиотеках как базовые; существующая библиотека написана просто и ясно; нет уверенности, что данное решение будет значительно проще. Если задача, решаемая библиотекой, действительно сложна, то реализация будет лучше и проще и на ее написание и отладку уйдет меньше времени и сил, чем на обнаружение и исправление ошибок в чужой библиотеке. Кроме того, нередко эту работу удается пере- ложить на автора библиотеки. Можно сделать следующий вывод: если писать код, то очень много сил и времени уйдет на поиск решения задач, которые уже давно решены, причем оптимальным образом. Создавать свою библиотеку нужно: если то, что нужно, быстрее сделать, чем найти готовое; последующее использование несовместимо с существующими библиотеками. Каждый из подходов имеет свои факторы и риски. При исполь- зовании чужих программ ключевым фактором является минимиза- ция времени и стоимости начальной разработки. Основной риск при первом подходе – проблема внедрения и сопровождения. 198 При самостоятельном программировании ключевой фактор – длительная жизнь проекта. С запуском проекта он не заканчивается, а только начинается, т. е. после начальной разработки и тестирова- ния имеется конкурентоспособный продукт, ориентированный на долгосрочную перспективу. Любое удачное нестандартное решение – это изюминка проекта, его конкурентное преимущество. Проект уже на этапе разработки проектируется готовым к будущему рас- ширению и тиражированию. Производится тщательное тестирова- ние. Разработчики должны быть опытными, а это дорого. Риск вто- рого подхода один: возможна высокая стоимость проекта. Этот риск компенсируется тем, что такой проект, будучи успешным, спо- собен кормить предприятие многие годы. Использование и анализ готовых решений позволяет начинающим быстрее повышать квалификацию и создавать несложные проекты. Рассмотрим два варианта библиотек, реализующих функции обработ- ки изображений и имеющих открытые коды, MATLAB и OpenCV. 15.2. Система MATLAB MATLAB – это сокращение от английского «Matrix Laboratory», матричная лаборатория. МАТЛАБ – это пакет прикладных программ для решения задач технических вычислений, множество специализированных библио- тек и одноименный язык программирования. Язык MATLAB – ин- терпретатор. MATLAB работает на большинстве современных опе- рационных систем. Использование MATLAB ускоряет исследовательскую работу в несколько раз, позволяет сосредоточиться именно на проверке ал- горитма, а не на его реализации. В MATLAB ошибки реализации отслеживаются легче. В MATLAB можно создавать специальные библиотеки функций (toolbox), расширяющие его функциональность. Например, библио- теки Digital Signal Processing Toolbox, Image Processing Toolbox, Wavelet Toolbox, Filter Design Toolbox используются для цифровой обработки сигналов и изображений. Будучи тесно связанным со средой разработки приложений MATLAB, пакет Image Processing Toolbox освобождает разработчи- ка от поиска решений, кодирования и отладки алгоритмов, позволяя 199 сосредоточить усилия на решении основной практической задачи. MATLAB и пакет Image Processing максимально приспособлены для обучения, развития новых идей и их проверки. Библиотека Image Processing Toolbox представляет собой набор основных функций обработки изображений: чтение и запись различных форматов изображений, видео и последовательностей изображений; средства построения интерактивного графического интерфейса пользователя (GUI Builder) для ускорения разработки GUI- шаблонов, позволяющие настраивать его под задачи пользователя; преобразование в различные типы изображений и цветовые мо- дели, изменение палитры; геометрические преобразования; пространственные преобразования изображений; обработка выделенной области изображения; морфологические операции; скользящая и блочная обработка; линейная и нелинейная фильтрация; улучшение качества изображений; восстановление изображений; анализ изображений. Большинство функций библиотеки представлены в системе виде m-файлов. В них оптимально реализованы наиболее используемые алгоритмы обработки изображений. Коды этих функций открыты. Отличительной чертой MATLAB является ориентация на мат- ричные операции. Даже константа трактуется как матрица размером 1 × 1. Такая ориентация очень удобна для обработки изображений. Преимущества системы MATLAB: большое количество встроенных операций по работе с матрица- ми. Очень упрощает как различные задачи, связанные с решением систем линейных алгебраических уравнений и т. п., так и работу с изображениями; богатый набор постоянно развиваемых библиотек различных ма- тематических методов (численные методы, дифференциальные уравнения, обработка сигналов, вычислительная геометрия и т. д.); в Интернете доступно множество библиотек и функций для MATLAB; многие функции описаны в книгах; 200 большие возможности по быстрой и простой (для разработчика) визуализации различных данных (двумерных и трехмерных графи- ков функций, множеств и т. д.); интерпретатор с постоянно доступной командной строкой (в нужный момент программу можно приостановить и просмотреть данные полученные на определенном шаге, отобразить их графиче- ски, модифицировать, исправить параметры вызванной функции и т. д.), что облегчает отладку и понимание ошибок в программе; возможность использовать МАТЛАБ в C++ программах и наоборот (в МАТЛАБ можно использовать библиотеки, написанные на C++). Таким образом, удается тестировать алгоритмы, написанные на C++, с помощью среды МАТЛАБ, и использовать в своих программах сред- ства МАТЛАБ (например, визуализацию данных) через МАТЛАБ. Например, добавлять в свою программу вывод 3D-графи-ком (для от- ладки) весьма трудоемко, а подключившись к МАТЛАБ, есть возмож- ность передать туда данные и построить необходимые графики. Приведем пример кода простейшей программы обработки изоб- ражения на языке МАТЛАБ (результат обработки представлен на рис. 15.1): A = imread ('cameraman.tif'); % прочитать изображение в А; B = A/2; % уменьшить яркость всех пикселей в два раза; imshow (B); % отобразить результат обработки. Рис. 15.1. Результат обработки изображения системой MATLAB (код описан выше) 201 15.3. Открытая библиотека OpenCv OpenCV (англ. Open Source Computer Vision Library – библиотека компьютерного зрения с открытым исходным кодом, это библиоте- ка функций, реализующих алгоритмы компьютерного зрения, обра- ботки изображений и численных алгоритмов общего назначения с открытым кодом. Библиотека написана на C и C++, работает под операционными системами Linux, Windows и Mac OS, может рабо- тать с многоядерными процессорами. Активно разрабатываются интерфейсы для Python, Ruby, MATLAB, Java, Lua и других языков. OpenCV содержит более 500 функций для различных областей приложения: контроль качества на производстве, системы безопас- ности, обработку изображений, пользовательские интерфейсы, сте- реоскопическое зрение и роботостроение, получение видео с камер, распознание образов, включая обнаружение лиц, отслеживание движений в двух и трех измерениях, 3D-реконструкцию стереоско- пического зрения и др. OpenCV также включает в себя библиотеку обучения машин, ориентированную на задачи статистического рас- познавания образов и кластеризации. OpenCV используется во многих приложениях и научно- исследовательских работах. Основные модули OpenCV: opencv_core – основная функциональность, включающая базовые структуры, вычисления (математические функции, генераторы слу- чайных чисел) и линейную алгебру, DFT, DCT, ввод/вывод для XML и YAWL и т. д.; opencv_imgproc – обработка изображений (фильтрация, геометриче- ские преобразования, преобразование цветовых пространств и т. д.); opencv_highgui – простой UI, ввод/вывод изображений и видео; opencv_ml – статистические модели машинного обучения (SVM, деревья решений, обучение со стимулированием и т. д.); opencv_features2d – распознавание и описание плоских примити- вов (SURF, FAST и др.).; opencv_video – анализ движения и отслеживание объектов (оптический поток, шаблоны движения, устранение фона); opencv_objdetect – обнаружение объектов на изображении (нахождение лиц алгоритмом Виолы – Джонса, распознавание лю- дей HOG и т. д.); 202 opencv_calib3d – калибровка камеры, поиск стерео-соот-ветствия и элементы обработки трехмерных данных; opencv_flann – библиотека быстрого поиска ближайших соседей (FLANN 1.5) и обертки OpenCV; opencv_gpu – ускорение некоторых функций OpenCV за счет CUDA, создан при поддержке NVidia. Документацию по библиотеке можно посмотреть на сайте http://docs.opencv.org/index.html. Выводы по разделу III Решение конкретной прикладной задачи по обработке изображе- ний зависит от опыта разработчика. К сожалению, при небольшом изменении условий получения одного и того же объекта могут су- щественно измениться его цифровое изображение и методы обра- ботки этого изображения: например, изображение, полученное в красном диапазоне электромагнитного спектра и ближнем инфра- красном (см. рисунок). а б Пример космических снимков одной местности в разных спектральных диапазонах: а – ближний инфракрасный спектр; б – красный спектр 203 Часто возникает следующая ситуация: имеется одно или не- сколько изображений (очень часто с разными недостатками); требу- ется распознать представленный на них объект (например, номер автомобиля). Обработка существенно меняющихся изображений разных типов – это в большей степени искусство, а не ремесло, но искусство, опи- рающееся на разнообразные знания. Знание методов и опыт поиск нужной последовательности в их применении облегчит ре- шение поставленной задачи. Даже постоянно работая с узким клас- сом изображений (например, ретушь фотопортретов), полезно знать основы названных методов. ЗАКЛЮЧЕНИЕ При написании авторы стремились достичь следующих целей: показать, как формируются цифровые изображения разной при- роды; описать основы обработки таких изображений; показать, как с их помощью решаются конкретные прикладные задачи. Более глубокие знания можно почерпнуть в других учебниках и специализированной литературе, а также в сети Интернет. Получение новых типов изображений требует новых методов их обработки. Реализация новых теорий позволяет создавать новые устройства регистрации изображений. Этот процесс получения но- вых изображений и новой информации из них бесконечен, как путь монахов на гравюре М. Эшера «Спускаясь и поднимаясь», пред- ставленной на обложке в несколько искаженном дисторсией виде. 204 БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Ватолин, Д.С. Алгоритмы сжатия изображений : метод. пособие / Д.С. Ватолин. – Москва : Изд-во им. М. В. Ломоносова, 1999. – 157 с. 2. Гонсалес, Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс : пер. с англ. – Москва : Техносфера, 2005. – 1072 c. 3. Журавель, И.М. Краткий курс теории обработки изображе- ний [Электронный ресурс] / И.М. Журавель. – Режим доступа: http://матлаб.exponenta.ru/ imageprocess/book2/79.php. – Дата доступа: 15.06.2015. 4. Методы компьютерной обработки изображений / под ред. В.А. Сойфера. – Москва : Физматлит, 2003. – 784 с. 5. Мюррей, Д.Д. Энциклопедия форматов графических файлов / Д.Д. Мюррей, У. ван Райнер : пер. с англ. – Киев : BHV, 1997. – 672 с. 6. OpenCV – библиотека компьютерного зрения с открытым ис- ходным кодом: http://locv.ru. 7. Приоров, А.Л. Цифровая обработка изображений : учеб. по- собие / А.Л. Приоров, И.В. Апальков, В.В. Хрящев. – Ярославль : ЯрГУ, 2007. – 235 с. 8. Прэтт, У. Цифровая обработка изображений / У. Прэтт : пер. с англ. – Москва : Мир, 1982. – Кн. 2. – 480 с. 9. Старовойтов, В.В. Локальные геометрические методы цифро- вой обработки и анализа изображений / В.В. Старовойтов. – Минск : Ин-т техн. кибернетики, 1997. – 282 с. 10. Фисенко, В.Т. Компьютерная обработка и распознавание изображений : учеб. пособие / В.Т. Фисенко, Т.Ю. Фисенко. – Санкт-Петербург : СПбГУ ИТМО, 2008. – 192 с. 11. Цифровая обработка изображений в информационных системах : учеб. пособие / И.С. Грузман [и др.]. – Новосибирск : Изд-во НГТУ, 2002. – 352 c. 12. Шапиро, Л. Компьютерное зрение / Л. Шапиро, Дж. Сток- ман : пер. с англ. – Москва : БИНОМ. 2006. – 752 с. 13. Яне, Б. Цифровая обработка изображений/ Б. Яне : пер. с англ. – Москва : Техносфера, 2007. – 584 с. 205 Учебное издание СТАРОВОЙТОВ Валерий Васильевич ГОЛУБ Юлия Игоревна ПОЛУЧЕНИЕ И ОБРАБОТКА ИЗОБРАЖЕНИЙ НА ЭВМ Учебно-методическое пособие Редакторы Т Н. Микулик, Т В. Мейкшане Компьютерная верстка Е.А. Беспанской Подписано в печать 22.05.2018. Формат 6084 1/16. Бумага офсетная. Ризография. Усл. печ. л. 11,85. Уч.-изд. л. 9.27. Тираж 100. Заказ 993. Издатель и полиграфическое исполнение: Белорусский национальный технический университет. Свидетельство о государственной регистрации издателя, изготовителя, распространителя печатных изданий № 1/173 от 12.02.2014. Пр. Независимости, 65. 220013, г. Минск. 2 Старовойтов Валерий Васильевич – доктор техниче- ских наук, главный научный сотрудник ОИПИ НАН Рес- публики Беларусь, профессор кафедры ИСИТ МИДО БНТУ; Голуб Юлия Игоревна – кандидат технических наук, старший научный сотрудник ОИПИ НАН Республики Беларусь, доцент кафедры ПОВТиАС ФИТР БНТУ