close

Вход

Забыли?

вход по аккаунту

?

Алгоритмы обработки изображекний методичка

код для вставкиСкачать
Министерство образования Республики Беларусь
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра "Системы автоматизированного проектирования"
Методические указания к лабораторным работам "АЛГОРИТМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ"
для студентов специальности 1 40 01 02 -
"Информационные системы и технологии (по направлениям)"
Минск 2007
УДК: 681.327
Рассматриваются основные этапы обработки изображений различных видов. Изложена краткая теория, взятая за основу в используемых алгоритмах обработки. Основными объектами рассмотрения являются дискретизация, статистические методы обработки, преобразования фильтрации. Алгоритмы, рассмотренные в лабораторных работах, используются в задачах машинной графики, а также при выполнении предварительной обработки информации в задачах анализа, распознавания и понимания изображений.
Лабораторные работы направлены на освоение студентами изложенного материала в ходе самостоятельного выполнения ими обработки предложенных изображений. Составитель И.Л.Ковалева, Ю.И. .
Рецензент к.т.н., доцент Н.А.Разоренов, к.т.н., н.сотр. Л.И. Цирульник
Учебное издание
Методические указания к лабораторным работам " Алгоритмы обработки изображений"
для студентов специальности 1 40 01 02 -
"Информационные системы и технологии (по направлениям)"
Составители КОВАЛЕВА Ирина Львовна, МОНИЧ Юлия Игоревна
Редактор
Подписано в печать
Формат 60X84 1/16. Бумага тип N2. Офсет.печать
Усл.печ.л. Уч.-изд. л. . Тираж 100. Заказ Издатель и полиграфическое исполнение:
Белорусский национальный технический университет.
Лицензия . 220027, Минск, пр. Ф.Скорины 65
 Составление Ковалева И.Л.,
Монич Ю.И.
2007
ЛАБОРАТОРНАЯ РАБОТА N1
Разработка графического редактора
Цель: Разработка графического редактора для дальнейшего его использования в остальных лабораторных работах
Задание: Разработать графический редактор, обеспечивающий:
1. Открытие, обработку (конкретные варианты обработки будут описаны в следующих лабораторных работах), сохранение файлов изображений формата bmp.
2. Конвертацию изображения в матрицу mxn и получение новой матрицы с точки зрения потенциала.
3. Возможность создания (в виде заполнения матрицы mxn) и сохранение новых изображении.
Структура BMP файла
Рассмотрим для примера начало файла pal16.bmp. Его размер 45898 байт. Шестнадцатеричные коды начальных 256 байт файла приведены на рисунке 1: Рисунок 1 - Структура .bmp файла
Начало bmp-файла представляет из себя следующую запись, прочитав которую можно получить информацию о находящейся в файле картинке: размере и кол-ве цветов. type
bmpinfo = record
h1,h2: char; { файл должен начинаться буквами BM }
Size: longInt; { размер файла, байт }
Reserved: longint; { резерв, не используется }
Offset: longint; { смещение данных относительно начала файла }
b: longint; { не используется }
Width: longint; { ширина картинки }
Height: longint; { высота картинки }
Plans: word; { кол-во планов, должно содержать 1 }
bpp: word; { кол-во битов на пиксель (1, 4, 8 или 24 }
end;
Size (longInt)занимает 4 байта. Поскольку сначала идут младшие байты числа,то на самом деле число байтов в шестнадцатеричной системе будет 0000B34A(16)=45898(10) Далее пропускаем 4 байта и находим, что данные о цвете пикселей начинаются со смещением 00000076(16) байт от начала файла. Действительно видно, что 77(16)-й и далее до 100(16) байты равны ff, а 101(16) байт равен f0. Чуть ниже мы объясним это. Далее определяем, что ширина (Width) картинки равна 00000115(16)=277 пикселей. Высота (Height) картинки равна 00000147(16)=327 пикселей. Поле bpp равно 4, следовательно цвет пикселя задается одной шестнадцатеричной цифрой. Всего этих цифр, начиная с 77(16)=119-го байта, и до 101(16)=257-го байта получается равным:(257-118)*2-1=277. Информация о цвете пикселей в bmp-файле хранится построчно, но обязательно в целом числе 32-х битных слов (4-х байтных). Поэтому вторая строка картинки начинается с 259-го байта (259-119=140=35*4). После поля bpp формат хранения bmp файла предусматривает еще шесть 4-х байтных слов. biCompression DWORD Тип сжатия: 0 = отсутствует, 1 = RLE-8, 2 = RLE-4
biSizeImage DWORD Размер растра в байтах
biXPelsPerMeter DWORD Количество пикселей на метр по горизонтали
biYPelsPerMeter DWORD Количество пикселей на метр по вертикали
biClrUsed DWORD Количество использованных цветов
biClrImportant DWORD Количество значащих цветов
Далее следует таблица цветов. Она задается массивом следующих записей :
type
RGBQUAD=record
rgbRed: byte; {интенсивность красного}
rgbGreen: byte; {интенсивность зеленого} rgbBlue: byte; {интенсивность голубого}
rgbRserved: byte; {не используется }
end; Таким образом, для 16-цветового (4-битного) растра цветовая таблица состоит из 16 записей RGBQUAD, а для 256-цветового (8-битного) цветовая таблица состоит из 256 записей RGBQUAD. Исключение составляют 24-х битные изображения, в которых цветовая таблица вообще отсутствует. После таблицы цветов следуют цвета пикселей картинки. Они располагаются построчно, начиная с нижнего левого угла картинки. ЛАБОРАТОРНАЯ РАБОТА N2
Определение типа изображения. Работа с графическими форматами файлов. Цель: Изучение форматов представления различных типов изображений
Задание: Разработать модули обработки загруженного изображения, выполняющие:
1. Проверку, является ли изображение бинарным, полутоновым, палитровым или полноцветным.
2. Вывод на экран нескольких изображений в одном окне.
3. Вывод на экран палитры.
1. Основные определения
Пусть А={ aij| i=, j= } - растровое изображение, представляющее собой прямоугольную матрицу, aij - элемент изображения (пиксель).
Если aij {0,1} и принимает только два значения, то изображение называется бинарным и состоит только из черных и белых пикселей.
Если aij {0,1, ... N-1} и принимает N значений, то изображение называется полутоновым и каждый пиксель может принимать N оттенков серого (градаций яркости).
Xij1
Если aij{ Xij2 }, где Xijk {0,1, ... N-1}, то изображение называется Xij3
цветным, каждый пиксель может иметь любое из N3 возможных значений цвета, определяемое соответствующими ему координатами (xij1, xij2, xij3 ) в цветовом пространстве.
Xij1
Если aij{ Xij2 }, где Xijk {0,1, ... N-1}, то изображение называется ...
XijM
многоканальным. Такое изображение состоит из совокупности М полутоновых изображений { Xijk }. Каждому пикселю соответствует М-компонентный вектор со значениями яркости, соответствующими ему во всех М изображениях. 2. Бинарные изображения
Пусть В и W - два множества соответственно черных пикселей (объект) и белых пикселей (фон), составляющих бинарное изображение.
Каждый пиксель изображения имеет восемь соседей, которые нумеруются в соответствии со следующей схемой:
S8(ajj) - это множество всех соседей аij (кроме собственно аij), называемое 8-соседями аij. Соседи с нечетными номерами - прямые соседи аij или 4-соседи, обозначаемые как S4(aij); соседи с четными номерами - это непрямые соседи аij, которые обозначаются как SD(аij). В общем случае под понятием соседства понимается S8. Множество S8(аij) называется 8-окрестностью аij, а множество S4(аij) называется 4-окрестностъю аij. Топология на цифровой плоскости определяется с помощью отношения соседств (рисунок 2). a4a3a2a5aija1a6a7a8 Рисунок 2 - Отношение соседства
Пиксель из В, имеющий всех соседей из В, - внутренний пиксель. Совокупность всех внутренних пикселей В называется ядром или внутренностью В. Все пиксели В, не являющиеся внутренними, называются контурными пикселями.
3.Полутоновые изображения
Полутоновые изображения характеризуются большим, в отличие от бинарного, количеством градаций яркости. Как и для бинарного изображения, основным понятием для полутонового изображения является понятие объекта и фона, однако в силу природы изображения их определение более сложно по сравнению с бинарными. Объект, как правило, отличается значением яркости от фона. ГраницаI между объектом и фоном часто является размытой. Граница на полутоновом изображении - область, ограничивающая объект. Наиболее распространенной задачей в обработке полутоновых изображений является выделение границ. Результат представляется в виде бинарного изображения. Линии черного цвета на бинарных изображениях, соответствующие границам объекта на полутоновых, называются контурными линиями или контурами. Контурная пиния - это линия, ограничивающая объект, а так как объекты отличаются от фона своей яркостью, то можно считать, что линия контура должна проходить в местах перепада яркости на изображении (рис.1.4.3.2.,в).
4.Цветные изображения
Когда мы говорим о цвете, мы подразумеваем три специфических параметра: яркость, цветность и насыщенность. Яркость - это энергетическое содержание света. Цветность - это длина волны излучения с максимально присутствующей интенсивностью. Насыщенность - это чистота цвета, величина, которая характеризует присутствие белого цвета. Меры яркости изучаются в фотометрии, а цвета - в калориметрии.
Цветное изображение характеризуется пятью координатами: три характеристики цвета (цветность, яркость, насыщенность); две координаты расположения объекта в пространстве. Взаимное влияние этих координат очень сложное и требует для анализа больших затрат времени. В большинстве телевизионных систем, включая компьютерные, для определения цвета используется система смешения цветов RGB (красный, зелёный, синий). Именно в этой системе координат цвета на экране формируется изображение, поэтому при формировании своей системы координат необходимо отталкиваться именно от RGB. 5.Описание информации о палитре
Информация о 16-цветной палитре (EGA/VGA). Информация о палитре запоминается в одном из двух различных форматов. В стандартном формате RGB (IBM EGA, IBM VGA) данные запоминаются в 16 тройках. Каждая тройка состоит из 3 байтов со значениями красного (Red), зеленого (Green) и синего (Blue) цветов. Значения могут находиться в диапазоне 0-255, и поэтому необходима их интерпретация в формат используемого оборудования. Например, на IBM EGA существуют 4 возможных уровня RGB для каждого цвета. Поскольку 256/4 = 64, то ниже ( рисунок 3) приведен список соответствия цветовых значений и уровней: ЗначениеУровень0-63064-1271128-1922193-2543 Рисунок 3 - Соответствие цветовых значений и уровней
Информация о 256-цветной палитре VGA. 256-цветная палитра форматируется и интерпретируется точно так же, как 16-цветная. Палитра (число цветов * 3 байта длины) добавляется в конец PCX файла и ей предшествует байт с десятичным значением 12. Для определения палитры VGA BIOS достаточно разделить прочитанные значения цветов на 4.
Для доступа к 256-цветной палитре следует:
1. Прочитать в заголовке поле Version. Если оно равно 5, палитра должна быть. Или прочитать в заголовке поле Bits per pixel. Если оно равно 8, 256-цветная палитра должна быть.
2. Прочитать конец файла и отсчитать назад 769 байт. Найденное вами значение должно равняться 12, что указывает на присутствие 256-цветной палитры.
В пакете программ PCX Programmer's Toolkit фирмы Genus Microprogramming принят другой способ хранения 256-цветной палитры. Отличие состоит в том, что палитре предшествует байт с десятичным значением 10 (вместо 12), а значения цветовых компонент занимают младшие 6 битов в каждом из байтов цветовой тройки (т.е. изменяются от 0 до 63, как это принято в VGA BIOS). ЛАБОРАТОРНАЯ РАБОТА N3
Преобразование типов изображений
Цель: Изучение основных подходов, используемых при взаимном преобразовании различных типов изображений.
Задание: Разработать модули обработки загруженного изображения, выполняющие:
1. Бинаризацию полноцветных и палитровых изображений.
2. Преобразование полноцветного изображения в полутоновое.
Бинаризация
Во многих случаях фиксированный порог бинаризации, применяемый в сканерах, не позволяет получить изображения с четким разделением на фон и объекты. Так происходит, например, при неоднородном освещении сканера или из-за отражающей способности бумаги, из-за различного цвета или текстурированного фона документа, при использовании различных типов краски, из-за низкого качества документа, обусловленного использованием ксерокопирования либо ветхостью документа, аддитивного шума электронных компонентов.
Для таких случаев имеются две основные возможности. Первая из них - эмпирический подбор порога разделения в сканере и выполнение такого подбора для каждого изображения плохого качества. Другая возможность состоит в том, чтобы начать обработку с полутонового изображения, полученного на стадии оцифровки, а затем использовать методы автоматической бинаризации для определения наилучшего значения пороговой величины. Основная задача бинаризации изображений заключается в правильном выборе порога квантования, так как ошибки в его выборе приводят к различного вида помехам, которые маскируют полезные объекты и формируют ложные объекты. Порог квантования выбирается таким образом, чтобы свести к минимуму искажения структуры изображения. В одних случаях он устанавливается заранее так, чтобы минимизировать ошибки квантования, а в других - формируется автоматически в процессе обработки изображения различными локальными операторами: выбором максимального значения функции яркости изображения; разделом двух основных пиков на гистограмме яркости; усреднением функции яркости в окне, корреляционным и последовательным анализом и др.[27]. Другой подход к бинаризации изображений основан на выделении границ областей и заполнении их внутренних участков единичными элементами. Конкретный выбор той или иной операции бинаризации изображений зависит от их оптических свойств, требуемой точности и скорости аппроксимации.
Пусть {аij} - полутоновое изображение, t-порог и b0, bi - два бинарных значения. Результат порогового разделения - бинарное изображение, полученное следующим образом:
Как видно, основной задачей является выбор значения t с помощью некоторого критерия. Это значение может выбираться как одинаковым для всего изображения, так и различным для различных его частей. Если значения объектов и фона режима достаточно однородны по всему изображению, то может использоваться одно пороговое значение для всего изображения. Использование единственного значения порога для всех пикселей изображения называется глобальным пороговым разделением.
Однако для многих сканированных изображений глобальное пороговое значение не может использоваться из-за неоднородностей внутри областей фона и объектов. Для этого типа изображения требуются различные пороговые значения для различных частей изображения. Использование различных пороговых значений для различных частей изображения называется адаптивным или локальным пороговым разделением.
Существует много способов выбора порогового значения. Один из наиболее популярных и широко используемых - метод мод, в котором используется гистограмма яркостей пикселей на изображении. Для изображения с хорошо отличимыми объектами и фоновым режимом гистограмма будет иметь два различных пика (рисунок 4). Впадина между пиками может быть найдена как минимум между двумя максимумами, а соответствующее ему значение интенсивности выбирается как порог, который лучше всего разделяет два пика.
Рисунок 4 - Метод мод
ЛАБОРАТОРНАЯ РАБОТА N4
Улучшение изображений
Цель: изучение основных методов улучшения изображения
Задание: 1. Загрузить полутоновое изображение.
2. Построить его гистограмму (отобразить гистограмму).
3. Выполнить линейное масштабирование гистограммы исходного изображения (с возможностью настройки наклона линии), отобразить полученную гистограмму, восстановить по ней изображение.
4. Выполнить линейное масштабирование с ограничениями гистограммы исходного изображения (с возможностью настройки наклона линии, и указания максимального и минимального порогов), отобразить полученную гистограмму, восстановить по ней изображение.
5. Выполнить гамма-коррекцию исходной гистограммы для гамма<1 и гамма >1), отобразить полученные гистограммы, восстановить по ней изображение. Отобразить используемые характеристики передачи уровней яркости .
6. Осуществить линейную растяжка гистограммы, отобразить полученную гистограмму, восстановить по ней изображение.
7. Осуществить нормализацию гистограммы, отобразить полученную гистограмму, восстановить по ней изображение(с возможностью настройки размера "хвостов").
8. Выполнить эквализацию гистограммы, отобразить полученную гистограмму, восстановить по ней изображение.
Процедура улучшения изображений сводится к выполнению комплекса операций с целью улучшения визуального восприятия изображения. В системах улучшения изображений не делается попытки приблизить воспроизводимое изображение к некоторому идеализированному оригиналу(такая задача решается при реставрации изображений). Известны случаи, когда искаженное изображение субъективно воспринимается лучше, чем неискаженный оригинал.
1. Изменение контраста
Под контрастом обычно понимают разность максимального и минимального значений яркости. Путем цифровой обработки контраст можно повысить, изменяя яркость каждого элемента изображения и увеличивая диапазон яркостей. Существуют два способа приведения диапазона яркостей выходного изображения в соответствие с диапазоном яркости исходного изображения (рисунок 5).
Яркость на выходе
а)
Диапазон
яркостей
обработанного
изображения
Яркость на входе
Диапазон яркостей исходного изображения
б)
Рисунок 5 - Примеры контрастного масштабирования
а- линейное масштабирование; б- линейное масштабирование с ограничениями
Согласно первому из них, обработанное изображение линейно отображается таким образом, чтобы полностью охватить отведенный ему диапазон яркостей. Второй способ предусматривает ограничение экстремальных значений яркости обработанного изображения максимальным и минимальным пороговыми уровнями (способ коррекции несинусоидальными ортогональными преобразованиями). Этот способ часто обеспечивает более высокое качество изображения, особенно если обработанное изображение содержит относительно мало элементов с превышением уровней ограничения. В программах и системах повышения контраста нередко предусматривается возможность введения ограничения для фиксированного процента значений яркости на обоих краях шкалы. При изменении контраста может выполняться преобразование, называемое гамма-коррекцией. Параметр gamma определяет форму кривой характеристики передачи уровней яркости. Если gamma меньше 1, то характеристики передачи уровней яркости будет выпуклой и результирующее изображение будет светлее, чем исходное. Если gamma больше 1, то характеристики передачи уровней яркости будет вогнутой и результирующее изображение будет темнее, чем исходное (рисунок 6).
gamma <1 gamma =1 gamma >1
выход
вход Рисунок 6 - Характеристики передачи уровней яркости для различных gamma
Еще более можно улучшить контраст, используя нормализацию гистограммы. При этом на весь максимальный интервал уровней яркости [0, 255] растягивается не вся гистограмма, лежащая в пределах от fмин до fмакс, а её наиболее интенсивный участок (fмин', fмакс'), из рассмотрения исключаются малоинформативные "хвосты". На рис. 2б исключено 5% пикселов.
Целью выравнивания гистограммы (эту процедуру называют также линеаризацией и эквализацией - equalization) является такое преобразование, чтобы, в идеале, все уровни яркости приобрели бы одинаковую частоту, а гистограмма яркостей отвечала бы равномерному закону распределения.
ЛАБОРАТОРНАЯ РАБОТА N5
Фильтрация изображений
Цель: изучение основных операций математической морфологии и подходов к фильтрации полутоновых изображений
Задание: 1. Загрузить бинарное изображение (изображение может быть получено с помощью матрицы, либо в результате преобразования полутонового).
2. Получить матрицу изображения.
3. Реализовать следующие морфологические операции: эрозия, расширение, отмыкание, замыкание. При этом предусмотреть задание размеров и вида структурного элемента для каждой операции.
4. Результат каждой операции отобразить в виде матрицы и в виде изображения.
5. Реализовать дистанционное преобразование исходного изображения. При этом предусмотреть возможность выбора вида расстояния для расчета.
6. Результат дистанционного преобразования отобразить в виде матрицы и в виде изображения.
7. Выполнить фильтрацию полутонового изображения
1.Математическая морфология
Математическая морфология - относительно новый подход в обработке изображений, суть которого заключается в том, что исходное изображение рассматривается как множество, и к нему применяются теоретико-множественные операции. Основные морфологические операции являются аналогами операций сложения и вычитания Минковского. Дадим краткие определения:
Расширением (наращением) множества AEN множеством BEN (обозначается А В) называется А В = {СEN |:с = а + b}.
Эрозией множества A множеством В (A ) называется A = { СEN |,c + b A}.
Для обеих операций задается структурный элемент, который также называют маской морфологического фильтра. Ненулевые значения в маске определяют, какие из соседних пикселей следует учитывать при осуществлении операции.
При эрозии бинарного изображения пиксел исходного изображения сбрасывается в 0, если хотя бы один из пикселов окрестности, соответствующей ненулевому элементу маски, равен 0. При расширении бинарного изображения пиксел исходного изображения устанавливается в 1, если хотя бы один из пикселов окрестности, соответствующей ненулевому элементу маски, равен 1. Часто используется структурный элемент в виде маски 3х3.
2.Фильтрация шумов полутонового изображения
В процессе считывания и преобразования в цифровой массив изображение подвергается различным искажениям и зашумлению, что требует эффективных средств его улучшения и реставрации (восстановления). Основными операциями повышения качества изображения являются: коррекция уровней яркости по всему полю изображения, подавление шумов и преобразования изображения. Подавление шумов на изображении выполняется различными методами линейной и нелинейной фильтрации. Методы фильтрации основаны на применении некоторых фильтров и свертке изображения с данными фильтрами. Наиболее часто используются следующие фильтры:
2.1.Усредняющий фильтр. Работа усредняющего фильтра заключается в замене значения яркости в текущем пикселе на среднюю яркость, вычисленную по его 8-окрестности, включая и сам элемент:
a' = = 9 (рисунок 2)
Этот фильтр является самым простым. К недостаткам можно отнести сглаживание ступенчатых и пилообразных функций. Кроме того, пиксели, имеющие существенно отличное значение яркости и являющиеся шумовыми, будут вносить значительный вклад в результат обработки. Пример фильтрации с помощью усредняющего фильтра приведен на рисунке 7.
9899897188---------------798898898
Рисунок 7 - Пример работы усредняющего фильтра
2.2.Пороговый фильтр. Пороговый фильтр является модификацией усредняющего, и отличие заключается в том, что замена значения яркости на среднее производится только в том случае если разность между значением яркости и полученным средним превышает установленный порог.
2.3. Медианный фильтр.
Еще одним эвристическим методом улучшения качества изображения является медианная фильтрация. Одномерный медианный фильтр представляет собой скользящее окно, охватывающее нечетное число элементов изображения. Центральный элемент заменяется медианой элементов изображения в окне. Медианой дискретной последовательности N элементов при нечетном N называют элемент, для которого существует (N-1)/2 элементов меньших или равных ему по величине и (N-1)/2 элементов больших или равных ему по величине. На рисунке 8 показано применение двумерного 3Х3 медианного фильтра для центрального элемента в окрестности. 9899897188---------------7898898898 9897188898--7888899918 Рисунок 8 - Пример работы медианного фильтра
Учебное издание
Методические указания к лабораторным работам " Алгоритмы обработки изображений"
для студентов специальности 1 40 01 02 -
"Информационные системы и технологии (по направлениям)"
Составители: КОВАЛЕВА Ирина Львовна, МОНИЧ Юлия Игоревна
Документ
Категория
Рефераты
Просмотров
399
Размер файла
189 Кб
Теги
алгоритм, методичка, изображекний, обработка
1/--страниц
Пожаловаться на содержимое документа