Контр_работа_ГиМС_2014 - Факультет заочного обучения

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
“БРЕСТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ”
Кафедра «Интеллектуальные информационные технологии»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
ДЛЯ ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ
ПО ДИСЦИПЛИНЕ
«ГРАФИЧЕСКИЕ И МУЛЬТИМЕДИЙНЫЕ СИСТЕМЫ»
для студентов заочного факультета специальности «Автоматизированные
системы обработки информации»
БРЕСТ – 2014
Содержание
1.
Введение в графические системы _____________________________________________ 3
2.
Графические файлы ________________________________________________________ 5
2.1.
Основные виды форматов _________________________________________________ 6
2.2.
Структура графических файлов формата BMP _____________________________ 12
3.
Обработка изображений ___________________________________________________ 15
3.1.
Улучшение и реставрация изображений ___________________________________ 15
3.2.
Сжатие графических данных _____________________________________________ 22
4.
Анализ изображений ______________________________________________________ 24
4.1.
Виды признаков _________________________________________________________ 25
4.2.
Выделение контурных признаков изображения _____________________________ 25
4.3.
Символическое описание изображений_____________________________________ 31
Контрольная работа __________________________________________________________ 33
Ход работы___________________________________________________________________ 33
Содержание отчёта___________________________________________________________ 34
Варианты задания ____________________________________________________________ 34
Основная литература _________________________________________________________ 40
Дополнительная литература __________________________________________________ 40
1.
Введение в графические системы
Графическая система – комплекс аппаратного и ПО, предназначенный для
хранения, и отображения графической информации.
Интерактивная графическая система – графическая система в которой
проектирование графических объектов ощущается в процессе непосредственно
взаимодействия пользователя с ВС. Такие системы обычно позволяют создавать и
редактировать графические объекты.
Под термином графика понимается результат визуального представления
реального или воображаемого объекта.
Машинная графика – комплекс программных средств для создания, хранения и
обработки моделей объектов и их графических изображений с помощью ЭВМ.
Интерактивная машинная графика – вид машинной графики, при которой
человек имеет возможность динамически управлять содержимым изображений, их
формой, размером, цветом с помощью интерактивных средств воздействия (пример:
клавиатура).
Графический объект – множество графических примитивов, с которым связан
единый идентификатор.
Графический примитив – составная часть графического объекта, который
имеет одинаковые визуальные свойства и статус внутри объекта.
Программа чтения графических файлов должна обеспечивать:
- открытие файлов;
- чтение;
- определение достоверности интерпретируемых данных.
Данная программа может получать информацию как из файла, так и из
устройства ввода.
Представление и восприятие изображения:
Свет – это поток частиц, обладающих энергией, которая действует на органы
зрения и тем самым позволяет выполнять зрительные функции. Также с физической
точки зрения, видимый свет – это электромагнитное излучение в относительно узкой
полосе спектра  350-370нм.
Характеристики источника света:
1. интенсивность излучения заданной длины волны;
2. длина волны.
Характеристики восприятия света:
1. яркость (светлота), если существует 2 источника света с одинаковой длиной
волны излучения, то источник с более интенсивным излучением
воспринимается более ярким;
2. цветовой тон - характеристика цвета, позволяющая зрительным органам
различать цвета, т.е. цвета с разной формой спектра;
3. насыщенность - признак, позволяющий отличать спектральный цвет
пастельного, бледного цвета того же тона.
Характеристики ощущения субъективны.
Для представления изображения в компьютерной графике используется понятие
пикселя:
Физический пиксель – реальная точка, отображенная на устройстве вывода,
наименьший физический элемент в поверхности, отображение которого можно
обработать программным или аппаратным способом. Физический пиксель имеет
размер.
В
противоположность
физическим
логические
пиксели
подобны
математическим точкам. Они характеризуются месторасположением в пространстве,
но не занимают физической площади.
Оба этих типа характеризуются битовой глубиной (пиксельной глубиной). Чем
больше количество бит, которыми описывается один пиксель, тем больше возможное
количество цветов, которые можно использовать при записи изображения в файл. Это
количество бит называется также глубиной цвета. Зависимость количества
используемых цветов от глубины цвета определяется согласно следующему
выражению, где ^ - возведение в степень:
Кол-во цветов = 2^глубина цвета
(1)
Применение различной глубины цвета получило свои названия: 16 бит – «High
color», 24 бита - «True color», 32 бита – «High true color».
Основное свойство, которое используется для описания пикселя, – это его цвет.
Под цветом понимается точка в цветовом пространстве, которая может описываться
при помощи нескольких составляющих (цветовых каналов, основных цветов). Таких
каналов обычно три. В зависимости от того, какие каналы используются различают
несколько цветовых моделей, рассмотрим наиболее используемые:
1. RGB (Red, Green, Blue) – название описывает основные цвета данной модели
(красный, зеленый, синий). Данная модель является аддитивной, так как
результирующий цвет получается путем сложения основных цветов с черным.
Таким образом нулевая интенсивность всех каналов (0,0,0) дает черный цвет,
максимальная (255,255,255) – белый цвет.
2. CMY (Cyan, Magenta, Yellow) – здесь основные цвета – это голубой,
пурпурный и желтый. Данная модель является субтрактивной, так как цвета в
ней получаются путем вычитания основных каналов из белого. Таким
образом, нулевая интенсивность каналов (0,0,0) дает белый цвет,
максимальная интенсивность (255,255,255) дает черный цвет. Для экономии
краски при печати модель была расширена до CMYK, где K обозначает
черный цвет (blacK).
3. HSV – данная модель отличается от остальных, что основные каналы
представляют собой не цвета, а характеристики одного цвета по тому, как он
воспринимается: Hue – оттенок, Saturation – насыщенность, Value – величина.
Белый цвет (160,0,240), черный цвет (160,0,0).
Наложение и прозрачность.
Существуют два метода комбинации изображений между собой:
1. Использование оверлейного бита (наложение). Бит дополняет исходное
цветовое пространство изображения и позволяет при этом два и более изображения
выводить параллельно, причём в каждом из них могут существовать так называемые
дыры (оверлейный бит равен 1 - ничего не выводится в первом изображении, то есть
пиксель невиден, и тогда видны пиксели второго или третьего изображения, 0 –
пиксель рисуется как обычно и скрывает нижние слои). RGBT, T – оверлейный бит.
2. Использование  канала. Информация представляется в виде RGB.  (8
бит) - принимает множество значений и означает степень прозрачности
соответствующего пикселя. При этом максимальное значение 255 – пиксель не
выводится в результирующее изображение, а минимальное значение – 0 (эквавалентно
значению оверлейного бита = 0) – цвет данного пикселя полностью перекрывает
пиксели других изображений. Средние значения - означают, что цвет пикселя будет
смешен с цветами пикселей других изображений.
2.
Графические файлы
Графический формат – формат, в котором данные, описывают графическое
изображение, записываемые в файл.
Графический файл – файл, используемый для хранения устойчивых
графических данных и предназначенный для последующей визуализации этих данных
в виде изображения.
Элементы графического файла:
Поле – структура данных графического файла имеющая фиксированный размер.
Фиксированное поле – поле графического файла, которое имеет не только
фиксированный размер но и фиксированную позицию в файле.
Для определения местоположения в файле используется либо абсолютное
смещение относительно начала или конца файла, либо относительное смещение по
отношению к другим полям файла. Расположение и размеры полей указаны в
спецификации формата файла.
Тег – структура данных, размер которой изменяется от файла к файлу. Теги
могут содержать другие теги или наборы взаимосвязей полей.
Поток – совокупность данных, который не умеет определенных размеров. Файл,
который представлен в виде потоков, не дает возможности произвольного доступа,
поэтому такие файлы должны считаться последовательными. Место расположения
блоков в потоке неизвестно за исключением первого. Расположение остальных
определяется в процессе чтения. Как правило различные графические форматы могут
содержать в себе сразу несколько видов элементов.
Например:
TIFF – состоит из тегов и фиксированных полей.
GIF – состоит из фиксированных полей и потоков.
Организация форматов файлов с помещением фиксированных полей позволяет
получить более быстрый доступ, однако он менее удобен для добавления и удаления
данных.
Данные, организованные в виде потоков требуют меньшее количество памяти и
времени на обработку по сравнению с тегами и фиксированными полями, но
исключают доступ к данным, что делает их менее универсальными в обработке.
2.1.
Основные виды форматов
На сегодняшний день используется три основных вида графических форматов:
растровые, векторные и метафайловые. Кроме того существует большое количество
специализированных форматов для хранения графических данных.
Растровые форматы используются для хранения растровых данных. Файлы
этого типа особенно хорошо подходят для хранения реальных изображений, например
фотографий и видеоизображений. Растровые файлы, по сути дела, содержат точную
попиксельную карту изображения. Программа визуализации реконструирует это
изображение на отображающей поверхности устройства вывода.
Наиболее распространенные растровые форматы — это Microsoft BMP, PCX,
TIFF и TGA.
Любой растровый формат состоит из структурных элементов, при этом только
два элемента являются обязательными:
1. Заголовок
2. Растровые данные
Растровый формат может также включать и другие элементы:
1. Заголовок
2. Таблица строк развертки
3. Палитра
4. Каталог изображений
5. Растровые данные
6. Концовка
Заголовок – раздел двоичных или символьных данных, которые располагаются в
начале файла и хранят общую информацию о растровых данных, это обязательная
часть растровых форматов данных. Структура заголовка определяется графическим
форматом и состоит из фиксированных полей, большинство из которых обязательны
для заполнения. Структура типичного заголовка растровых данных:
 идентификатор файла;
 версия файла;
 количество строк изображения;
 количество столбцов изображения;
 глубина цвета;
 количество цветовых плоскостей;
 тип сжатия растра;
 координаты начала растровых данных;
 текстовый комментарий;
 неиспользуемое пространство.
Палитра – таблица описания цветов, использованных в изображении
(необязательная часть). При использовании этого метода данные могут быть записаны в
файл в виде последовательности индексов (обычно небольших целых чисел), что позволяет
значительно сократить объем пиксельных данных о растровых изображениях. Размер
палитры определяется глубиной цвета с учетом (1):
Размер палитры (в битах) = глубина цвета*кол-во цветов =
= глубина цвета*2^глубина цвета
(2)
Исходя из выражения (2) применение палитры целесообразно только для
изображений с небольшой пиксельной глубиной. Различают следующие виды палитр:
1. Одноканальные (цвет характеризуется одной величиной)
2. Многоканальные (цвет пикселя описывается разложением на основные
цвета).
Палитры также бывают:
1. Пиксельно-ориентированные - каждый элемент описывает возможный цвет
пикселя (могут быть одноканальные и многоканальные).
2. Плоскостно-ориентированные - набор из нескольких палитр, которые
называются плоскостями, каждая плоскость описывает только один основной цвет,
результирующее изображение получается путем комбинации соответствующих
элементов из плоскостей.
Каталог изображений содержит ссылки на изображение, хранящееся внутри
файла, если их несколько (необязательно).
Растровые данные (обязательная часть) – набор числовых значений,
обозначающих цвет каждого пикселя. Растровые данные содержат данные об
изображении, т.е. характеристику каждого пикселя, либо в виде описания цвета, либо
в виде ссылки (индекса) на соответствующий элемент палитры.
Способы организации растровых данных:
 в виде строк развёртки;
 в виде полос развёртки;
 в виде плоскостей;
 в виде фрагментов изображения;
 в виде индексов (при использовании палитры).
Таблица строк развертки содержит ссылки на строки развертки изображения.
Аналогично в структуру формата может быть включена таблица фрагментов или
таблица полос развертки.
Концовка – необязательная часть файла, в которой хранится то, что не
поместилось в заголовке и/или признак конца файла.
Преимущества растровых форматов файлов:
1. Растровые данные могут легко создаваться из любых пиксельных данных и
могут храниться в памяти в виде массива.
2. Воспроизведение пиксельных данных, сохранённых в растровом формате,
осуществляется в некой системе координат, которая позволяет выводить эти
данные в виде сетки.
3. Пиксельные данные могут легко преобразовываться как индивидуально, так и
группами.
4. Растровые форматы удобны для хранения многоцветных детализированных
изображений с большой пиксельной глубиной.
Недостатки:
1. Большой размер растровых файлов, особенно если это изображение с
большой пиксельной глубиной. Применение различных методов сжатия
позволяет снизить их размер, но это усложняет процесс обработки данных и
увеличивает его длительность. Кроме этого, чем сложнее хранимая
информация, тем менее эффективен алгоритм сжатия.
2. Плохо масштабируется.
Векторные форматы
Векторный формат строится на основании структурных элементов также как и
растровый и может состоять из следующих частей:
1. Заголовок. Содержит общую информацию для всего файла и может
включать в себя:
 идентификатор файла;
 номер версии;
 некоторую цветовую информацию;
 стартовую точку отрисовки;
 атрибуты по умолчанию;
 количество векторов на изображении;
 текстовый комментарий;
 неиспользуемое пространство.
Атрибуты графических примитивов по умолчанию применяются в случаях, когда
не указаны другие атрибуты каждого элемента. Например при описании окружности
не указан цвет линии, тогда принимается цвет указанный в заголовке как атрибут по
умолчанию.
Палитра (необязательно) представляет собой набор цветов, в котором каждый
цвет описывается вектором, например: RED 255,0,0; BLACK 0,0,0.
Данные изображения содержат векторные данные. Векторные данные
представляют собой набор векторов и используются для представления любой
геометрической фигуры, эти данные программно зависимы, так как представляют
собой математическое описание элементов изображения. Размер векторного файла
соответственно зависит от количества векторов (объектов на изображении). Вектор
задается как некий идентификатор и связанный с ним конечный набор атрибутов,
например для описания окружности достаточно одного вектора, атрибутами которого
могут быть координаты центра окружности, радиус и цвет окружности:
CIRCLE 100,80,20,RED.
Различают цветовые (цвет контура, заливки, градиента и т.п.) и числовые
атрибуты (координаты контрольных точек, радиусы изгибов, длины м т.д.).
Существует два способа хранения текста в виде векторных данных:
1. В виде одного вектора с набором атрибутов, один из которых это ASCII
строка, остальные описывают параметры начертания этой строки (текста).
2. В виде набора векторов, где каждый вектор является отдельным символом
текста.
Концовка. Содержит служебную информацию, записанную после данного
изображения, в частности, количество объектов в файле, масштабируемость и т.д.
Достоинства:
1. Удобство хранения изображения, представляется в виде кривых, линий или
др. простых геометрических объектов, а также изображений, которые могут
быть разложены на простейшие геометрические фигуры (чертежи, деловая
графика и т.п.).
2. Легко масштабируются (достаточно просто пересчитать атрибуты векторов) и
поддаются другим манипуляциям, позволяющим адаптировать изображение к
разрешающей способности устройства вывода. При масштабировании объем
данных в файле не изменяется происходит только увеличение либо
уменьшение изображения.
3. Многие векторные форматы представляют собой текстовые файлы,
редактировать которые можно простейшим текстовым редактором.
Недостатки:
1. Плохо подходят для хранения сложных изображений (фотографий).
2. Зависимость от программного обеспечения. Внешнее представление
векторных файлов может изменяться в зависимости от программы или
устройства, их отображающих.
3. Сложность наборов геометрических примитивов и операций их рисования,
требует значительных вычислительных ресурсов.
4. Различные векторные форматы могут поддерживать различные наборы
графических примитивов и различные наборы атрибутов для них.
Метафайлы применяются для переноса растровой и векторной информации на
различные аппаратные и программные платформы. (примеры: PS, PDF). Большинство
форматов метафайлов состоит из заголовка, за которым следует один или несколько
типов данных. Таким образом, они могут содержать в себе и векторные, и растровые
данные одновременно.
Преимущества:
1. Наряду с двоичными существуют метафайлы ASCII – типа, что облегчает
процесс переноса между платформами.
Включение одновременно и растровой, и векторной информации позволяет
создавать фалы с размером значительно меньшим их векторных или
растровых версий.
Недостаток: большинство из метафайлов сложны, поэтому их сложно
редактировать и требуется много времени и вычислительных мощностей для
воспроизведения изображения.
Основные виды платформенной зависимости, которые привели к появлению
метафайлов:
1) порядок бит в байте;
2) порядок байт в слове;
3) ограничение на размер файла;
4) представление данных с плавающей запятой;
5) различия в именовании файлов.
2.
Преобразования форматов файлов всегда требует преобразования заголовка и
структуризации данных изображения в соответствии с новым форматом, опишем
проблемы, возникающие при этом.
1) Преобразование из одного растрового формата в другой растровый формат
требует корректировки пиксельных данных при различной пиксельной глубине в
исходном и результирующем файлах. Также при необходимости выполняется
распаковка и сжатие растровых данных.
2) При преобразовании и векторного в векторный необходимо учитывать:
а) Различные форматы поддерживают различные графические примитивы.
б) У каждого редактора существует своя система мер, поэтому необходимо
выполнить пересчет атрибутов, при этом графические примитивы с одинаковыми
характеристиками в различных редакторах могут выглядеть по-разному.
3) Преобразование из метафайлов в метафайлы. Встречаются все проблемы из 1
и 2 пунктов.
4)
Преобразование из векторных форматов и метафайлов в растровые.
Необходимо выполнить формирование пиксельной матрицы.
Проблемы: возникновение эффектов ступенчатости и зубчатости в изображении,
т.к. переходим от безупречной математической модели к матрице пикселей.
5) Преобразование растровых форматов и метафайлов в векторные. Самое
сложное преобразование, которое требует выполнения всех этапов поиска объектов на
изображении и определения их свойств, самые сложные этапы:
а) выделение контуров;
б) векторизация;
в) корректное определение цветов.
6) Преобразование растровых и векторных форматов в метафайлы требует, как
правило, преобразования из бинарного в ASCII вид и преобразования цветов.
2.2.
Структура графических файлов формата BMP
Формат bmp файлов для операционной системы Windows представлен на
следующем рисунке:
Файл, содержащий битовое изображение, начинается со структуры
BITMAPFILEHEADER. Эта структура описывает тип файла и его размер, а также
смещение области битов изображения. Сразу после структуры BITMAPFILEHEADER
в файле следует структура BITMAPINFO, которая содержит описание изображения и
таблицу цветов. Описание изображения (размеры изображения, метод компрессии,
размер таблицы цветов и т.д.) находится в структуре BITMAPFILEHEADER. В
некоторых случаях (не всегда) в файле может присутствовать таблица цветов (как
массив структур RGBQUAD), присутствующих в изображении. Биты изображения
обычно располагаются сразу после таблицы цветов. Точное значение смещения битов
изображения находится в структуре BITMAPFILEHEADER.
Структура BITMAPFILEHEADER, а также указатели на нее описаны в файле
windows.h:
typedef struct tagBITMAPFILEHEADER
{
UINT bfType;
DWORD bfSize;
UINT bfReserved1;
UINT bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
Описание структуры BITMAPFILEHEADER.
В структуре BITMAPFILEHEADER для нас важны два поля – поле bfType,
определяющее тип файла, и поле bfOffBits, определяющее смещение битов, из
которых формируется изображение. Остальные поля можно проигнорировать. В
частности, размер файла нетрудно u1086 определить средствами файловой системы
MS-DOS. Сразу после структуры BITMAPFILEHEADER в bmp файле расположена
структура BITMAPINFO.
Структура BITMAPINFO описана в файле windows.h следующим образом:
typedef struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
Структура BITMAPINFOHEADER описывает размеры и способ представления
цвета в битовом изображении:
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
Опишем назначение отдельных полей этой структуры.
Сразу после структуры BITMAPINFOHEADER в файле может находиться
таблица цветов (палитра). Эта таблица содержит массив структур RGBQUAD:
typedef struct tagRGBQUAD
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
Поля rgbBlue, rgbGreen и rgbRed содержат RGB компоненты цветов, поле
rgbReserved зарезервировано и должно содержать нулевое значение.
Файл битового изображения может содержать таблицу цветов, а может и не
содержать ее. Покажем зависимость размера таблицы цветов от значения поля
biBitCount (количество бит, используемых для представления одного пиксела):
Если содержимое поля biClrUsed отлично от нуля, используется таблица цветов
уменьшенного размера. В ней описаны только те цвета, которые содержатся в
изображении.
3.
Обработка изображений
Обработка изображений включает:
1. Улучшение и реставрацию изображений.
2. Сжатие.
3. Выделение признаков.
4. Символическое описание изображений.
3.1. Улучшение и реставрация изображений
Целью улучшения и реставрации изображений является получение изображения
лучшего качества, более приятного для восприятия. При этом результирующее
изображение не обязательно будет более близким к оригиналу или иметь какие-то
оптимальные параметры, его важная характеристика - это наилучшее восприятие,
поэтому оценка результата производится пользователем и является субъективной.
Для улучшения качества изображений и их реставрации применяют следующие
методы обработки:
1. Подавление шумов.
2. Изменение контрастности.
3. Подчеркивание границ.
4. Цветовая обработка.
Подавление шумов.
Изображение может повреждаться шумами и помехами различного
происхождения, например шумом видеодатчика, шумом зернистости фотоматериалов
и ошибками в канале передачи. Искаженные элементы часто весьма заметно
отличаются от соседних элементов. Такой шум принято называть импульсным. Это
наблюдение послужило основой для многих алгоритмов, обеспечивающих подавление
шума.
Для подавления шума применяются три основных метода, которые рассмотрены
ниже.
Рисунок поясняет простой пороговый метод подавления шума, при
использовании которого последовательно измеряют яркость всех элементов
изображения. Если яркость данного элемента х превышает среднюю яркость группы
ближайших элементов Оi на некоторую пороговую величину ϵ, яркость элемента
заменяется на среднюю яркость его окружения.
Важно: Для вычисления яркости при известных цветовых значениях RGB
каналов можно воспользоваться следующим выражением:
Яркость  0.3R  0.59G  0.11B
(3)
При пороговой фильтрации могут применяться не только квадратные окна, как
указано в примере, но и прямоугольные, крестообразные.
Поскольку импульсный шум предполагает наличие резко отличающихся по
яркости пикселей, то это приводит к появлению перепадов яркости, которые
характеризуются высокими частотами в спектре частот изображения. Соответственно
плавная смена яркости характеризует низкие частоты. Следовательно, простая
низкочастотная пространственная фильтрация (сглаживающий фильтр) может
служить эффективным средством сглаживания шумов. Применение такого метода
заключается в выборе маски фильтрации, примеры масок размерностью 3х3:
Коэффициенты маски могут быть любыми, но в сумме они должны давать
единицу, для этого перед каждой матрицей приведен нормирующий коэффициент
(единица, деленная на сумму элементов матрицы). Нормализация позволяет избежать
смещения средней яркости обработанного изображения. Как правило, для
низкочастотного фильтра все коэффициенты положительные.
Сглаживание шума выполняется путем последовательного наложения маски на
изображение в движущемся окне и свертки этой маски с фрагментом изображения.
Результат свертки записывается в качестве центрального пикселя выбранного
фрагмента.
F'  F *H,
n 1
'
i [ n / 2 ]
F
  Fi  k  H k
k 0
Пусть n = 9, тогда для первого фрагмента изображения (i=1) получим
8
F   Fk 1  H k  F1  H 1  F2  H 2  ...  F9  H 9
'
5
k 0
F
F1
F2
F3
...
F4
F5
F6
...
F7
F8
F9
...
...
...
...
...
H1
H2
H3
H  H4
H5
H5
H7
H8
H9
Медианная фильтрация - метод нелинейной обработки сигналов,
разработанный Тьюки. Этот метод оказывается полезным при подавлении шума на
изображении. Основной идеей данного метода является замена элементов, которые
принимаются за шум на значения из рассматриваемого временного ряда, что
позволяет избежать искажения информации.
Медианный фильтр представляет собой скользящее окно, охватывающее
нечетное число элементов изображения. Центральный элемент заменяется медианой
всех элементов изображения в окне. Медианой дискретной последовательности а1 а2,
..., аN для нечетного N является тот ее элемент, для которого существуют (N - 1)/2
элементов, меньших или равных ему по величине, и (N - 1)/2 элементов, больших или
равных ему по величине. Таким образом, медиана – это центральный элемент в
отсортированной последовательности значений. Исходя из определения медианы,
можно составить следующий алгоритм медианной фильтрации:
1. В скользящем окне последовательно выбирается n элементов
( Fi 1 , Fi 2 ,....Fi n ) из исходного изображения, которые попали в окно
фильтра, соответственно n – это количество элементов окна фильтра.
2. Последовательность ( Fi 1 , Fi  2 ,....Fi  n ) сортируется:
( F '1 , F '2 ,....F 'n )  sort ( Fi 1 , Fi 2 ,....Fi n )
3. В отсортированной последовательности выбирается центральное значение,
которое называется медианой. Центральное значение исходного фрагмента
временного ряда заменяется на значение медианы:
Fi[ n
2
1]
 F '[ n
2
1] .
Важно: Следует отметить, что для корректной работы медианного фильтра
необходимо определить величину, по которой будет выполняться фильтрация, это
может быть яркость, насыщенность, один из цветовых каналов, в зависимости от того,
какой на изображении шум (яркостной, цветной или смешанный). Для вычисления
яркости можно воспользоваться выражением (3). При выполнении фильтрации для
цветовых каналов необходимо учитывать, что нельзя отдельно сортировать цветовые
каналы – это может привести к появлению новых цветов на изображении и его
искажению. Можно выполнять фильтрацию по одному каналу, к которому поставить
в соответствие остальные цветовые значения. Либо для достижения лучшего эффекта
произвести последовательную фильтрацию всего изображения сначала по одному
каналу, а потом по другим.
Пусть в окно попали элементы изображения со значениями яркости 80, 90, 200,
110 и 120; в этом случае центральный элемент следует заменить значением 110,
которое является медианой упорядоченной последовательности 80, 90, 110, 120, 200.
Если в этом примере значение 200 является шумовым выбросом в монотонно
возрастающей последовательности, то медианная фильтрация обеспечит
существенное улучшение. Напротив, если значение 200 соответствует полезному
импульсу сигнала, то обработка приведет к потере четкости воспроизводимого
изображения. Таким образом, медианный фильтр в одних случаях обеспечивает
подавление шума, в других - вызывает нежелательное подавление сигнала.
Концепцию медианного фильтра легко обобщить на два измерения, применяя
двумерное окно желаемой формы, например прямоугольное или близкое к круговому.
Очевидно, что двумерный медианный фильтр с окном размера LxL обеспечивает
более эффективное подавление шума, чем последовательно примененные
горизонтальный и вертикальный одномерные медианные фильтры с окном размера
Lx1. На рис. 12.6.2 показано влияние двумерной медианной фильтрации на
пространственный импульсный сигнал. Использовались фильтры с окнами двух
типов; квадратным размера 3X3 и крестообразным размера 5x5. Как видно,
медианный фильтр с квадратным окном разрушил углы изображенного квадрата, а
фильтр с крестообразным окном оставил его без изменения.
Важно: Любой из описанных методов может применяться к изображению
многократно для достижения оптимального результата.
Алгоритм функционирования взвешенного медианного фильтра сходен с
алгоритмом для обычной медианной фильтрации, описанной выше, и является лишь
модификацией этого алгоритма. Единственное отличие состоит в выборе медианы.
Для применения взвешенного фильтра каждому элементу в окне медианы
присваивается вес. При формировании последовательности элемент изображения
включается в последовательность столько раз, сколько указывает вес. Если окно
медианного фильтра имеет веса [2 3 2], а рассматриваемый фрагмент изображения
следующие значения [5 10 8], то будет получена следующая последовательность (5, 5,
10, 10, 10, 8, 8). Таким образом, вес в медианном фильтре должен быть целым
положительным числом и сумма всех весов давать нечетное число, чтобы
выполнялись условия поиска медианы. Вес является целым числом, определяющим
число раз повторения некоторого элемента, что усиливает значимость элементов
расположенных в конкретных позициях в окне. При правильном подборе весов
элементов существует возможность увеличения качества фильтрации.
Изменение контрастности.
Контрастность – это перепад яркости на изображении. Изменение контрастности
производится с целью повысить и/или понизить перепады яркости на изображении в
определенных яркостных диапазонах. Изменение контрастности производится путем
изменения яркостных значений исходного изображения на новые в соответствии с
некоторой функцией y’ = f(y), где y – исходное значение яркости, y’ – новое значение
яркости.
Различают три основных линейных метода изменения контрастности:
1. Уменьшение контрастности.
2. Усиление контрастности.
3. Яркостной срез - усиление значений яркости в небольшом поддиапазоне с
целью подчеркнуть ту или иную часть изображения.
Подчеркивание границ.
Это один из методов улучшения изображения основан на том, что изображение с
подчеркнутыми границами (контурами) субъективно воспринимается лучше, чем
оригинал. Цель метода – сделать границы объектов более четкими, для этого
применяются следующие подходы:
1. Высокочастотный фильтр. Данный фильтр аналогичен низкочастотному
фильтру. Здесь применяются уже не нормированные маски, а маски с
положительными и отрицательными элементами, сумма которых также
равна единице, такие маски называют опретарами Лапласа:
2. Нерезкое маскирование. В этом случае из исходной матрицы получаем
так называемую нерезкую матрицу F*, например путем усреднения
значений в окне или применением низкочастотного фильтра. Далее
вычисляется взвешенная разность двух изображений: исходного и
нерезкого:
*
G jk  cF jk  (1  c) F jk
Где с – эмпирический коэффициент; с= 1/2÷2/3 (0,5÷0,67). Таким
образом, в результирующем изображении получим подчеркнутые
границы. Осциллограмма изображения для одной из координат:
3. Статистическое дифференцирование. Каждый элемент исходного
изображения подвергается преобразованию следующего вида:
F* 
F jk
 jk
 jk
1
 2
4L
L
L

k   Lm   L
( Fkm  Fij )
2
2
что обозначает нахождение статистической разности между элементами
блока, L – размер блока.
Цветовая обработка.
Цветовая обработка предполагает изменение цветовых составляющих пикселей с
целью повышения качества восприятия либо получения нового видения изображения.
Существует два основных метода обработки:
1. Псевдоцвета – метод предназначен для раскраски нецветных изображений.
2. Ложные цвета – данный метод предназначен для получения необычного
восприятия изображений путем замены групп и оттенков цветов на другие по
заданной закономерности.
3.2.
Сжатие графических данных
Сжатие данных – процесс физического уменьшения блока данных. Для
растровых данных сжимается только сам растр. Векторные графические данные
обычно не сжимаются.
Основной характеристикой сжатия данных является степень сжатия –
отношение объема входных данных к объему выходных данных. Также важными
характеристиками алгоритмов сжатия являются временные затраты на сжатие и
распаковку данных.
Применительно к графическим файлам существует 2 алгоритма сжатия данных:
 физическое – сжатие без учета характера изображения
 логическое – сжатие с учетом характера изображения
По временным затратам алгоритмы сжатия также делятся:
 симметричное сжатие – сжатие когда затраты на распаковку эквивалентны
затратам на запаковку
 асимметричное сжатие – затраты не эквивалентны.
Кроме того сжатие может быть:
 Адаптивным – предполагает, что служебная информация для сжатия
(таблицы подстановок) формируются на основе входного потока данных.
 Неадаптивным – происходит на базе готовых таблиц подстановок без учёта
характера входного потока.
 Полуадаптивным – используются частично готовые таблицы с
формированием дополнительных из входного потока.
По целостности данных изображения алгоритмы делят на:
 без потерь информации:
o Упаковка пикселей
o Групповое кодирование. RLE (Run Length Encoding)
o Метод Хаффмана
o JBIG
o LZW
 с потерей информации:
o JPEG
o Волновой алгоритм (использует вейвлет-преобразование)
o Фрактальное сжатие (заключается в поиске повторов фрагментов
изображения)
Рассмотрим коротко основные алгоритмы сжатия растровых данных:
1. Упаковка пикселей. Самый простой, обозначает описание внутри 1 байта
сразу нескольких пикселей. Если изображение имеет пиксельную глубину < 8,
например 4, то в случае описания цвета пикселя одним байтом, часть его будет
незначащей. В этом случае можно применять упаковку пикселей: одна тетрада байта
(4 бита) описывает один пиксель, вторая – другой. При глубине цвета в 2 бита в один
байт можно записать значения сразу 4 пикселей, соответсвенно при глубюине цвета 1
бит – в байт помещается сразу 8 пикселей.
2. RLE. Обозначает замену группы повторяющихся символов на пару:
количество повторяющихся значений (счетчик) и само значение. Например
последовательность 10, 10, 10, 10, 10, 5, 5, 5, 5, 7, 8, 8 может быть заменена на
(5,10),(4,5),(1,7),(2,8)
Достоинства алгоритма в том, что это сжатие без потерь, а также не требует
значительных ресурсов для сжатия и распаковки. Недостаток – входной поток должен
быть определённого вида, для того чтобы этот алгоритм был эффективным должно
быть много однотонных областей.
3. LZW. Алгоритм LZW относится к алгоритмам подстановок, или
базирующимся на словарях. Этот алгоритм из данных входного потока строит словарь
данных (также называемый переводной таблицей или таблицей строк). Образцы
данных (подстроки) идентифицируются в потоке данных и сопоставляются с записями
словаря. Если подстрока не представлена в словаре, то на базе содержащихся в ней
данных создается и записывается в словарь кодовая фраза. Затем эта фраза
записывается в выходной поток сжатых данных. Если эта подстрока встречается во
входном потоке повторно, фраза, соответствующая ей, читается из словаря и
записывается в выходной поток. Поскольку такая фраза имеет меньший физический
размер, чем подстрока, которую она представляет, мы говорим, что произошло сжатие
данных. Декодирование LZW-данных осуществляется в порядке, обратном
кодированию. Декомпрессор читает код из потока закодированных данных и, если
этого кода еще нет в словаре данных, добавляет его туда. Затем этот код переводится
в строку, которую он представляет, и записывается в выходной поток несжатых
данных.
Данный алгоритм является полностью симметричным и адаптивным, а также не
требует сохранения таблицы подстановок, широко используется в различных
графических форматах для сжатия растра, например: GIF, TIFF.
4. Метод Хаффмана. Метод строится на базе таблицы подстановок, которая
позволяет кодировать элементы данных или пиксельные значения из входного потока
в зависимости от частоты их повторения, для этого выполняется построение
статистического кодового дерева. При этом наиболее часто встречаемые символы
кодируются с помощью меньшего числа бит, а редко встречающиеся с помощью
большего числа бит. Широко используется в качестве вспомогательного алгоритма
сжатия.
5. JBIG. Данный метод является комбинацией RLE и метода Хаффмана. JBIG
был разработан специально для изображений с небольшой пиксельной глубиной (< 8
бит).
6. JPEG. Данный метод сжатия разрабатывался как специальный формат
хранения фотографических, сложных изображений с большой пиксельной глубиной
(24 бита и более). Сжатие по методу JPEG включает в себя ряд этапов:
1) Преобразование в новое цветовое пространство YCrCb (Y-яркость, Cr –
хроматический красный, Cb – хроматический синий).
2) Субдискретизация (изображение разбивается на фрагменты 8х8 для каждого
канала отдельно, что позволяет варьировать степень сжатия яркости и
цветовых составляющих, так как глаз человека более чувствителен к
яркости, то потери в яркости наименее желательны).
3) Прямое дискретное cos-преобразование. Данное преобразование позволяет
перейти от цветовых и яркостных характеристик к частотным
характеристикам.
4) Квантование. На данном этапе происходит потеря информации, что
заключается в делении матрицы изображения на заранее подобранную
матрицу с последующим округлением полученных значений. Правый
нижний угол матрицы характеризует высокие частоты изображения (мелкие
детали), потери этих данных наименее существенны для восприятия, таким
образом, деление приводит к обнулению значений верхних частот. На
данном этапе также регулируется степень сжатия, чем больше будет потерь
в верхних частотах, тем большую степень сжатия получим в результате.
5) Зигзаг-сканирование – это переход от фрагмента (матрицы) к
последовательности значений путем обхода матрицы от левого верхнего
угла к правому нижнему по принципу зигзага. Таким образом, в
последовательности вначале идут низкие частоты затем высокие.
6) Кодирование. Этот этап для разных форматов jpeg может включать
различные алгоритмы кодирования (волновой, RLE, метод Хаффмана и др.).
В результате кодирования получаем данные jpeg.
Декодирование растровых данных заключается в прохождении в обратном
порядке всех этапов сжатия.
4. Анализ изображений
Анализ изображений заключается в выполнении следующих методов:
1. Выделение признаков.
2. Символическое описание изображения.
3. Распознавание образов.
На базе этих методов строятся системы понимания изображений, что позволяет
перейти от пиксельных данных к восприятию, обрисовке сценария (описание того, что
именно изображено).
4.1.
Виды признаков
Признак изображения – простейшая описательная характеристика
изображения. Признаки могут быть естественными, которые определяются
визуально (яркость, цвет, форма, текстура), и искусственными, которые требуют
вычислений (средние характеристики, параметры распределения яркости, спектры,
гистограммы изображения и др.).
Основные группы признаков:
a) Яркостные (средняя, максимальная, минимальная яркость на изображении и
т.п.).
б) Цветовые (аналогичны яркостным).
в) Гистограммные (гистограммы распределения вероятностей появления
яркости, гистограммы распределения контрастности и т.п.)
г) Спектральные или пространственные (спектры распределения частот).
д) Текстурные. Текстура – многократное повторение фрагмента изображения,
включающего в себя определенные формы и структуры. Для поиска текстуры на
изображении используется автокорреляционная функция.
Признаки (атрибуты) текстуры:
- размер фрагмента.
- период повторения фрагмента.
- содержимое фрагмента.
e) Контурные.
4.2.
Выделение контурных признаков изображения
Выделение их происходит в два этапа:
1. Контрастирование. Цель данного этапа - усиление яркостных перепадов
на изображении. Чем больше существующий перепад в оригинальном изображении,
тем больше он усиливается).
2. Пороговый детектор. Этап заключается в пороговом ограничении
контрастного изображения, то есть отбрасывается та часть изображения, где перепад
яркости незначителен, остается только очертание объекта, его контур.
Перед выполнением операции выделения контура бывает полезно
отфильтровать изображение от импульсных помех, потому что очевидная импульсная
помеха будет принята участком контура. Кроме того, фильтр можно положить и на
результирующее изображение для уточнения полученного контура.
Существует множество способов выделения контурных признаков, однако
почти во всех второй этап выполняется одинаково, поэтому подробнее рассмотрим
методы контрастирования. Существует две группы:
- линейные методы контрастирования;
- нелинейные методы контрастирования.
Линейные методы контрастирования предполагают преобразование при
помощи линейных операций:
1)
Выделение
вертикальных
перепадов
осуществляется
дифференцированием
по
строкам,
горизонтальных
по
столбцам.
Дифференцирование производится в цифровой форме (метод разностей):
Здесь ∆x=1 - приращение вдоль строки, равное 1 пикселу, ∆y=1 - приращение
вдоль столбца, также равное 1 пикселу. Выделение перепадов по диагонали можно
получить, вычисляя разности уровней диагональных пар элементов.
2)
Выделение горизонтального перепада можно выполнить также используя
метод двух разностей, который заключается в вычислении приращения разности
яркостей пикселов вдоль строки:
Это отвечает одномерной маске Лапласа Н = | -1 2 -1|, сумма весовых
множителей равна нулю. Таким же образом можно искать перепады по вертикали и по
диагонали.
3)
Для выделения перепадов без учета их ориентации используются
двумерные операторы Лапласа (сумма весовых множителей также равна нулю):
Операторы Лапласа реагируют на перепады яркости во всех направлениях,
поэтому выделяют изолированные точки, тонкие линии, их концы и острые углы
объектов. Линия подчеркивается в 2 раза ярче, чем ступенчатый перепад, конец линии
в 3 раза, а точка - в 4 раза ярче. Однако, отклик оператора на наклонный перепад в
диагональном направлении почти вдвое больше, чем в горизонтальном и
вертикальном.
4)
Для выделения перепадов по направлению используются следующие
наборы весовых множителей, реализующих двумерное дифференцирование
(курсовые маски):
север
1
H5  1
1
2
северо-восток
1
юг
1
1
1 1 1
2
1
1
1
юго-запад
1 1 1
1
1
юго-восток
1
1 1 1
1 , H10   1  2 1 , H10   1  2 1 , H10   1  2 1 ,
1 1 1
H9  1
1
восток
1 1 1
1
1
запад
1
1
1
1
1
северо-запад
1
1
1
1
1 , H10  1  2  1 , H11  1  2  1 , H12  1  2  1 ,
1
1
1
1
1
1
1
1 1 1
Название географических направлений говорит о направлении склона
перепада, вызывающего максимальный отклик фильтра. Сумма весовых множителей
масок равна нулю, поэтому на участках изображения с постоянной яркостью эти
фильтры дают нулевой отклик.
Для выделения контуров и перепадов яркости могут применяться нелинейные
фильтры. В нелинейных алгоритмах используют нелинейные операторы дискретного
дифференцирования:
1)
В фильтре Робертса используется перемещающаяся по изображению
маска 2х2:
дифференцирования производится с помощью одного из выражений
(1)
(2)
В фильтре Собела используется окно 3х3:
2)
f i 1, j 1
f i 1, j
f i 1, j 1
f i , j 1
f i, j
f i , j 1
f i 1, j 1
f i 1, j
f i 1, j 1
Центральному (i,j) -му пикселу вместо f i,j присваивается значение яркости
(1) либо
(2), где
На рисунке показан результат применения фильтра Собела:
3)
Оператор Кирша даёт наилучшие результаты по сравнению с
предыдущими. В данном методе также используется маска 3х3:
A
 0
 A7
A
 6
A
1
X
A
5
A 
2
A 
3
A 
4
Производится вычисление двух сумм, одна из которых содержит 3 элемента
последовательно выбранные при обходе «по кругу» крайних элементов вошедших в
окно, вторая сумма включает оставшиеся пять элементов:
S 
i
(i  2) mod 8
 A
j
ji
T 
i
(i  7) mod 8
A

j
j  (i  3) mod 8
Далее значения сумм подвергаются сравнению при помощи взвешенной
разности по модулю, что определяет наличие либо отсутствие контраста в
рассматриваемом направлении:
Yi=|5Si-3Ti|
Выбирается максимальный перепад контраста из всех направлений,
направление изменяется за счет вычисления всех возможных разностей,
последовательно меняя стартовую позицию начального элемента (i):
F '  max{Yi }
i 0, 7
4)
Оператор Уолиса использует крестообразное окно, то есть выполняется
сравнение значений центрального элемента с его ближайшими соседними
элементами:
Fi-1j
Fij-1
Fij
Fi+1j
Fij+1


F4


ij
F '  ln 

ij
 Fi 1, j * Fi , j 1 * Fi 1, j * Fi , j 1 


Пороговый детектор.
После контрастирования выполняется этап порогового детектирования.
Пороговое детектирование заключается в подборе некоторого порога , который
разделяет все полученные значения на две вариации:
Gij=0, если F’ij<ε - есть контур
Gij=255, иначе. - нет контура
Способ выбора порога может быть следующим:
1. Метод подбора;
2. Выбор по гистограмме распределения вероятностей контрастностей
изображения. Как показано на рисунке, для изображения строится
соответствующая гистограмма, в которой по оси абсцисс откладываются
яркости от 0 до 255, а по оси ординат располагаются вероятности появления
каждой из яркостей на изображении. Вероятность вычисляется как
количество пикселей с заданной яркостью деленное на общее количество
пикселей на изображении.
После построения выбирается позиция Fa, слева от которой располагается 80%
площади гистограммы. Fa принимается за порог, то есть оставшиеся 20% площади
являются контуром, а 80% будут отсечены. Так как гистограмма строится для
изображения подвергнутого контрастированию, то для исходного изображения она
содержит вероятность распределения контрастности.
4.3.
Символическое описание изображений
Символическое описание - это задача перехода от первичных признаков
изображения (например, растр, контурные, яркостные и др. признаки) к значительно
меньшему набору средств описания с помощью графических символов.
Пример графических символов: граница объекта (линия описывается
определённой функцией), элемент фигуры (полигон), набор простых взаимосвязанных
фигур, область постоянной заливки или текстуры.
Действия, производимые для символического описания изображения:
1. Установление связности между объектами—элементами изображения.
2. Сжатие и утончение объектов, построение остова изображения (цель –
сведение изображения к меньшей области).
3. Определения и описание формы объектов. Существует три основных
метода описания формы:
i.
с помощью метрических характеристик (измерение расстояний,
радиусов изгибов);
ii.
с помощью топологических характеристик, которые не
изменяются при деформации растягивания, поворота (периметр,
площадь, количество вогнутостей, выпуклостей, замкнутых
областей, отверстий и др.);
iii.
аналитическое описание формы (используется математическое
представление линий в виде зависимостей, функций).
4. Сегментация объектов (выделение однородных областей и их комбинация
между собой).
Установление связности означает установление факта, принадлежат ли
элементы изображения одной и той же области или одному и тому же объекту. Для
этого нужно установить принадлежат ли две области одному и тому же классу
областей – элементарный граничный объект (например пиксель). Существует 2
признака связности:
Четырёхсвязность означает, что соседи данного элемента принадлежат тому
же классу по указанному направлению.
Восьмисвязность – тоже, что и четырехсвязность, но направлений больше.
Принадлежность одному классу может определяться по различным признакам
элемента изображения, чаще всего используется яркость (в случае пикселей), т.е.
пиксели, имеющие яркость в определённом диапазоне, считаются принадлежащими
одному классу.
Установив связность, элементы изображения можно классифицировать
следующим образом:
1. Элемент называется изолированным, если не соблюдаются признаки
связности с другими элементами.
2. Элемент называется внутренним, если выполняется признак
четырёхсвязности.
3. Элемент называется граничным, если он обладает связностью менее чем с 4
соседями
4. Элемент называется частью дуги, если он обладает связностью только с 2
соседними элементами, не связными между собой.
5. Элемент является конечной точкой дуги, если он обладает связностью
только с одним элементом.
Контрольная работа
Цель работы: Изучение структуры растровых файлов на примере формата BMP;
ознакомление с основными методами обработки изображений на примере фильтрации
от импульсных помех и выделения контуров.
Важно: В ходе контрольной работы задания выполняются согласно выданному
варианту. Отчет по выполнению контрольной работы должен содержать ответы на все
контрольные вопросы, указанные в заданиях. При оформлении контрольной
придерживайтесь одного стиля оформления, обязательно ссылайтесь на рисунки,
которые должны быть пронумерованы с указанием подписи к рисунку.
Защита контрольной работы заключается в демонстрации разработанной
программы, выполнения практического задания и устного контроля знаний
методического материала.
Ход работы
1. Изучить структуру растровых файлов на примере файлов BMP (раздел 2).
Ознакомиться с основными элементами файлов данного формата, а также как
выполняется формирование заголовка и палитры в данном формате.
a. Какие элементы форматов растровых файлов являются обязательными?
b. Когда применяется палитра в растровых файлах?
c. Что собой представляют данные растра при использовании палитры?
2. Написать программу на ЯВУ (язык высокого уровня) позволяющую
открывать, просматривать и сохранять файлы BMP формата. При просмотре
файлов обеспечить в программе возможность просмотра содержимого
заголовка графического файла.
3. Включить в программу (см. п. 2) возможность открытия и сохранения
графических файлов собственного формата согласно варианту. Собственный
формат предполагает создание собственной структуры заголовка, запись этого
заголовка в файл и запись растровых данных с глубиной цвета 24 бита.
Протестировать программу:
a. открытие файла в формате BMP и сохранение в собственном формате;
b. открытие в собственном формате и сохранение в формате BMP.
4. Изучить основные методы фильтрации изображений от импульсных помех
(см. раздел 3.1).
a. Какие методы используются для фильтрации изображений от
импульсных помех?
b. Что понимается под медианой при медианной фильтрации?
c. Каким образом используются веса при взвешенной медианной
фильтрации?
5. Добавить в программу (см. п. 3) возможность зашумления изображения и
фильтрации изображения от импульсных помех согласно варианту.
Протестировать программу:
a. На изображениях с различным уровнем шума (не менее 2-х тестов с
указанием в процентах количества шума).
6. Ознакомиться с этапами задачи выделения контуров на изображении (см.
раздел 4.2). Изучить линейные и нелинейные методы контрастирования
изображения, используемые при решении задачи выделения контуров.
a. Из каких этапов состоит процедура выделения контуров?
b. Какие существуют методы линейного контрастирования?
c. Как осуществляется выбор порога?
7. Добавить в программу (см. п. 5) возможность получения контурного
представления изображения, используя метод контрастирования, указанный в
варианте. Выбор наилучшего порога для получения контура выполнить путём
экспериментального подбора. Протестировать программу:
a. привести три теста с различными значениями порога, на основании
которых указать значение наилучшего порога при выделении контура
методом согласно вашему варианту;
b. выполнить выделение контура без предварительной фильтрации
изображения от импульсных помех;
c. выполнить выделение контура с предварительной фильтрацией;
Содержание отчёта
1. Титульный лист
2. Цель работы
3. Вариант
4. Ход работы (номера и текст заданий с указанием ответов на поставленные в
ходе работы вопросы, а также с указанием методов согласно варианту,
результаты тестирования программы должны быть снабжены качественными
скрин-шотами).
5. Текст программы
6. Выводы
Варианты задания
№
Структура заголовка
варианта
собственного формата *
1
2
1.
1,12,14,2,4,9,6
2.
1,12,15,3,6,7,9
3.
1,13,10,3,4,8,6
4.
1,6,7,5,4,11,10
5.
1,13,15,8,7,9,3
6.
1,14,15,3,8,9,6
7.
1,11,12,4,8,5,6
8.
1,2,4,9,6,5,14
9.
1,15,2,8,9,5,6
10.
1,11,4,5,6,7,8
11.
1,13,3,4,6,7,10
12.
1,6,7,9,3,2,10
13.
1,12,15,2,3,4,9,6
14.
1,3,4,5,6,7,8,9
Метод
контрастирования
3
4
Низкочастотный фильтр Курсовая маска
маска1
(север)
Низкочастотный фильтр Метод
двух
маска2
разностей
Низкочастотный фильтр Оператор Кирша
маска3
Пороговый фильтр с Курсовая маска
окном 1x3
(северо-запад)
Пороговый фильтр с Оператор Собела
окном 3x1
(1)
Пороговый фильтр с Курсовая маска
крестообразным окном (северо-восток)
3х3
Пороговый фильтр с Оператор
крестообразным окном Лапласа (Н13)
5х5
Пороговый фильтр с Курсовая маска
квадратным окном 3х3
(юг)
Пороговый фильтр с Оператор
окном 1x5
Робертса (2)
Пороговый фильтр с Курсовая маска
окном 5x1
(юго-запад)
Одномерный медианный Оператор Кирша
фильтр с окном 1x3
Одномерный медианный Курсовая маска
фильтр с окном 3x1
(юго-восток)
Двумерный медианный Метод разностей
фильтр
с по строкам
крестообразным окном
3х3
Двумерный медианный Оператор
фильтр
с Лапласа (Н14)
крестообразным окном
5х5
Метод фильтрации
1
15.
2
1,11,2,4,5,6,7,9
16.
1,9,14,7,8,3,5,11
17.
1,2,3,4,5,6,7,8,9
18.
1,4,6,7,5,9,15
19.
1,2,10,12,4,5,6,7
20.
1,15,13,8,9,3,6
21.
1,14,12,3,4,9,6,7
22.
1,10,15,8,9,6,7,5
23.
1,11,5,2,9,7,13
24.
1,10,3,4,8,7,15
25.
1,13,14,15,4,5,6,7
26.
1,11,14,2,3,4,9,6
3
4
Двумерный медианный Курсовая маска
фильтр с квадратным (восток)
окном 3х3
Одномерный медианный Оператор
фильтр с окном 1x5
Лапласа (Н15)
Одномерный медианный Оператор Собела
фильтр с окном 5x1
(2)
Взвешенный
Оператор
одномерный медианный Лапласа (Н13)
фильтр с окном 1x3
Взвешенный
Метод разностей
одномерный медианный по столбцам
фильтр с окном 3x1
Взвешенный двумерный Курсовая маска
медианный фильтр с (запад)
крестообразным окном
3х3
Взвешенный двумерный Оператор
медианный фильтр с Лапласа (Н15)
крестообразным окном
5х5
Взвешенный двумерный Оператор
медианный фильтр с Уоллиса
квадратным окном 3х3
Взвешенный
Оператор
одномерный медианный Лапласа (Н14)
фильтр с окном 1x5
Взвешенный
Оператор
одномерный медианный Робертса (1)
фильтр с окном 5x1
Взвешенный двумерный Оператор Собела
медианный фильтр с (1)
квадратным окном 5х5
Низкочастотный фильтр Оператор
маска1
Лапласа (Н15)
1
27.
2
1, 5,6,7,9,12,10
28.
1,15,13,10,5,4,8,6
29.
1,6,7,8,3,4,11,10
30.
1,13,10,15,5,8,7,9
31.
1,5,14,15,8,9,6,11
32.
1,11,13,9,4,8,3,6
33.
1,2,4,3,9,6,14
34.
1,3,15,2,8,9,14,6
35.
1,11,4,5,15,3,6,7,8
36.
1,13,2,5,4,6,7,10
37.
1,6,7,9,11,5,2,10
38.
1,2,15,12,5,4,9,6
39.
1,3,4,5,6,8,9,10
40.
1,11,3,4,14,6,7,9
3
Низкочастотный фильтр
маска2
Низкочастотный фильтр
маска3
Пороговый фильтр с
окном 1x3
Пороговый фильтр с
окном 3x1
Пороговый фильтр с
крестообразным окном
3х3
Пороговый фильтр с
крестообразным окном
5х5
Пороговый фильтр с
квадратным окном 3х3
Пороговый фильтр с
окном 1x5
Пороговый фильтр с
окном 5x1
Одномерный медианный
фильтр с окном 1x3
Одномерный медианный
фильтр с окном 3x1
Двумерный медианный
фильтр
с
крестообразным окном
3х3
Двумерный медианный
фильтр
с
крестообразным окном
5х5
Двумерный медианный
фильтр с квадратным
окном 3х3
4
Курсовая маска
(восток)
Оператор
Робертса (1)
Оператор
Лапласа (Н14)
Курсовая маска
(север)
Оператор Собела
(1)
Метод разностей
по строкам
Метод разностей
по столбцам
Оператор
Лапласа (Н15)
Оператор Собела
(2)
Оператор
Лапласа (Н14)
Оператор
Лапласа (Н13)
Курсовая маска
(юг)
Оператор
Робертса (2)
Курсовая маска
(юго-запад)
1
41.
2
1,9,6,7,8,3,5,11,12
42.
1,10,4,5,6,7,8,9
43.
1,4,14,6,7,3,9,13
44.
1,2,10,12,4,3,8,7
45.
1,12,13,8,9,5,6,15
46.
1,14,12,5,4,9,6,8
47.
1,11,13,8,9,4,7,3
48.
1,11,5,2,9,6,12,4
49.
1,10,5,4,8,6,15,12
50.
1,4,3,6,7,13,10,15
3
Одномерный медианный
фильтр с окном 1x5
Одномерный медианный
фильтр с окном 5x1
Взвешенный
одномерный медианный
фильтр с окном 1x3
Взвешенный
одномерный медианный
фильтр с окном 3x1
Взвешенный двумерный
медианный фильтр с
крестообразным окном
3х3
Взвешенный двумерный
медианный фильтр с
крестообразным окном
5х5
Взвешенный двумерный
медианный фильтр с
квадратным окном 3х3
Взвешенный
одномерный медианный
фильтр с окном 1x5
Взвешенный
одномерный медианный
фильтр с окном 5x1
Взвешенный двумерный
медианный фильтр с
квадратным окном 5х5
4
Оператор
Уоллиса
Курсовая маска
(юго-восток)
Курсовая маска
(запад)
Оператор
Лапласа (Н13)
Оператор
Уоллиса
Курсовая маска
(северо-восток)
Метод
разностей
двух
Оператор Кирша
Курсовая маска
(северо-запад)
Оператор
Робертса (1)
* указаны номера полей (при сохранении и чтении и заголовка учитывайте
указанную последовательность полей), которые необходимо включить в
заголовок из следующего перечня:
1. идентификатор типа файла (2 байта)
2. размер файла в байтах (4 байта)
3. размер заголовка в байтах (2 байта)
4. размер растра в байтах (4 байта)
5. смещение растровых данных от начала файла в байтах (2 байта)
6. ширина изображения в пикселях (4 байта)
7. высота изображения в пикселях (4 байта)
8. размер изображения в пикселях (4 байта)
9. глубина цвета (количество бит на один пиксель) (1 байт)
10. количество различных цветов на изображении (4 байта)
11. комментарий (16 байт)
12. версия файла (2 байта)
13. тип сжатия (1 байт)
14. автор формата (20 байт)
15. название программы, создающей файлы данного формата (8 байт)
Поля, которые отсутствуют, но необходимы для корректного прочтения файла,
могут быть вычислены, исходя из следующих выражений:
1) размер файла в байтах = размер заголовка в байтах + размер растра в байтах;
2) размер растра в байтах = размер изображения в пикселях * 8 / глубина цвета;
3) размер изображения в пикселях =
= ширина изображения в пикселях * высота изображения в пикселях;
4) смещение растровых данных от начала файла в байтах =
= размер заголовка в байтах + 1;
Основная литература
1. Корриган Д. Компьютерная графика. Секреты и решения. – М.: “Энтроп” – 1995.
2. Петров М., Молочков В. Компьютерная графика. Учебник для вузов. - СПб: "Питер", 2003. - 736 с.
3. Ласло М. Вычислительная геометрия и компьютерная графика на С++: Пер. с англ. – М.: Бином,
1997. – 304 с.
4. Гонсалес Р., Вудс Р. . Цифровая обработка изображений. М.: Техносфера, 2005. – 1072 с.
5. Форсайт Д., Понс Ж. . Компьютерное зрение. Современный подход: Пер. с англ. − М.:
Издательский дом «Вильямс», 2004. – 928 с.
6. Купер Алан, Кронин Дэйв, Рейман Роберт. Алан Купер об интерфейсе. Основы проектирования
взаимодействия (About Face 3: The Essentials of Interaction Design) — М: Символ, 2009, ISBN 978-593286-132-5.
7. Скотт Мюллер Модернизация и ремонт ПК (Upgrading and Repairing PCs).— М.: «Вильямс»,
2007. — ISBN 0-7897-3404-4
8. Робин Вильямс Дизайн для недизайнеров — М: Символ-Плюс, 2008, ISBN 978978-5-93286-1165.
9. Раскин Джеф. Интерфейс: новые направления в проектировании компьютерных систем (The
Human Interface. New Directions for Designing Interactive Systems) - СПб: Символ, 2010, ISBN 978-593286-030-4.
10. Торрес Джесси. Практическое руководство по проектированию и разработке пользовательского
интерфейса (Practitioner"s Handbook for User Interface Design and Development) - М: Символ, 2010, ISBN
5-8459-0367-X.
11. Тидвелл Дженнифер. Разработка пользовательских интерфейсов (Designing Interfaces: Patterns
for Effective Interaction Design) – СПб: Питер, 2008, ISBN 978-5-91180-073-4.
12. Якоб Нильсен. Дизайн Web-страниц. Анализ удобства и простоты использования 50 узлов
Usability. 50 Websites Deconstructed) – М: Вильямс, 2002, ISBN 5-8459-0315-7.
13. Алексей Попов. DirectX 10 - это просто. Программируем графику на С++ – СПб: БХВ-Петербург,
2012, ISBN 978-5-9775-0139-2.
14. Верма Р. Д. Введение в OpenGL - М: Горячая Линия – Телеком, 2011, ISBN 978-5-9912-0210-
Дополнительная литература
15. Першиков В. И., Савинков В. М. Толковый словарь по информатике — М.: Финансы и статистика,
1991. — 543 с. — ISBN 5-279-00367-0
16. Адамчук В.В. Эргономика — М: Юнити-Дана, 1999, ISBN 5-238-00086-3.
Download