- •«Национальный исследовательский томский политехнический университет»
- •Введение
- •Способы представления изображений в эвм
- •Растровое представление изображений
- •Параметры растровых изображений
- •Векторное представление изображений
- •Представление изображений с помощью фракталов
- •Геометрические фракталы
- •Алгебраические фракталы
- •Системы итерируемых функций
- •Представление цвета в компьютере
- •Свет и цвет
- •Цветовые модели и пространства
- •Цветовая модель rgb
- •Субтрактивные цветовые модели
- •Модели hsv и hsl
- •Системы управления цветом
- •Графические файловые форматы
- •Растровые алгоритмы
- •Алгоритмы растеризации
- •Растровое представление отрезка. Алгоритм Брезенхейма
- •Растровая развёртка окружности
- •Кривые Безье
- •Закраска области, заданной цветом границы
- •Заполнение многоугольника
- •Методы устранения ступенчатости
- •Метод увеличения частоты выборки
- •Метод, основанный на использовании полутонов
- •Методы обработки изображений
- •Яркость и контраст
- •Масштабирование изображения
- •Преобразование поворота
- •Цифровые фильтры изображений
- •Линейные фильтры
- •Сглаживающие фильтры
- •Контрастоповышающие фильтры
- •Разностные фильтры
- •Нелинейные фильтры
- •Преобразования растровых изображений
- •Векторизация с помощью волнового алгоритма
- •Построение скелета изображения
- •Оптимизация скелета изображения
- •Сегментация изображений
- •Методы, основанные на кластеризации
- •Алгоритм разрастания регионов
- •Компьютерная геометрия
- •Двумерные преобразования
- •Однородные координаты
- •Двумерное вращение вокруг произвольной оси
- •Трехмерные преобразования
- •2. Трехмерное изменение масштаба
- •3. Трехмерный сдвиг
- •4. Трехмерное вращение
- •Проекции
- •Математическое описание плоских геометрических проекций
- •Изображение трехмерных объектов
- •Видимый объем
- •Преобразование видимого объема
- •Представление пространственных форм
- •Полигональные сетки
- •Явное задание многоугольников
- •Задание многоугольников с помощью указателей в список вершин
- •Явное задание ребер
- •Удаление невидимых линий и поверхностей
- •Классификация методов удаления невидимых линий и поверхностей
- •Алгоритм плавающего горизонта
- •Алгоритм Робертса
- •Определение нелицевых граней
- •Удаление невидимых ребер
- •Алгоритм, использующий z–буфер
- •Методы трассировки лучей
- •Алгоритмы, использующие список приоритетов
- •Алгоритм Ньюэла-Ньюэла-Санча для случая многоугольников
- •Алгоритм Варнока (Warnock)
- •Алгоритм Вейлера-Азертона (Weiler-Atherton)
- •Методы закраски
- •Диффузное отражение и рассеянный свет
- •Зеркальное отражение
- •Однотонная закраска полигональной сетки
- •Метод Гуро
- •Метод Фонга
- •Поверхности, пропускающие свет
- •Детализация поверхностей
- •Детализация цветом
- •Детализация фактурой
- •Библиотека OpenGl
- •Особенности использования OpenGl в Windows
- •Основные типы данных
- •Рисование геометрических объектов
- •Работа с буферами и задание цвета объектов
- •Задание графических примитивов
- •Рисование точек, линий и многоугольников
- •Преобразование объектов в пространстве
- •Преобразования в пространстве
- •Получение проекций
- •Задание моделей закрашивания
- •Освещение
- •Полупрозрачность. Использование α-канала
- •Наложение текстуры
- •Аппаратные средства машинной графики
- •Устройства ввода
- •Сканеры
- •Основные характеристики
- •Фирмы-производители
- •Дигитайзеры
- •Принцип действия
- •Основные характеристики
- •Фирмы-производители
- •Цифровые фотокамеры
- •Принцип действия
- •Фирмы-производители
- •Литература
- •Оглавление
- •Отпечатано в Издательстве тпу в полном соответствии с качеством предоставленного оригинал-макета
-
Преобразование поворота
Преобразование поворота, также как и при рассмотрении плоских геометрических объектов, позволяет поворачивать исходное изображение на заданный угол. Поворот осуществляется вокруг центра изображения. При этом возможны два варианта поворота:
1. Области изображения, вышедшие за его границы при повороте отсекаются, а незаполненные части заполняются каким-либо цветом.
2. Рассчитывается новый размер изображения на основе угла поворота таким образом, чтобы повёрнутое изображение целиком поместилось в новые размеры. Незаполненные части изображения также заполняются каким-либо цветом.
В любом случае для расчёта преобразования поворота может быть использована следующая формула:
Cnew[i][j] =
, .
В этой формуле параметр C определяет цвет, которым заполняются пустые участки изображения. Параметр φ определяет угол поворота по часовой стрелке в радианах.
Приведённая формула округляет преобразованные координаты. Однако можно использовать и билинейную интерполяцию, когда цвет пикселя вычисляется как взвешенная сумма цветов четырёх соседних пикселей.
-
Цифровые фильтры изображений
Цифровые фильтры позволяют накладывать на изображение различные эффекты, например: размытие, резкость, деформацию, шум и т. д.
Цифровой фильтр представляет собой алгоритм обработки изображения. Большая группа цифровых фильтров имеет один и тот же алгоритм, но эффект, накладываемый фильтром на изображение, зависит от коэффициентов, используемых в алгоритме.
Фильтрация изображений является одной из самых фундаментальных операций компьютерного зрения, распознавания образов и обработки изображений. Фактически, с той или иной фильтрации исходных изображений начинается работа подавляющего большинства методов.
-
Линейные фильтры
Линейные фильтры представляют собой семейство фильтров, имеющих очень простое математическое описание. Вместе с тем они позволяют добиться самых разнообразных эффектов. Будем считать, что задано исходное полутоновое изображение A, и обозначим интенсивности его пикселей A(x, y). Линейный фильтр определяется вещественнозначной функцией F, заданной на растре. Данная функция называется ядром фильтра, а сама фильтрация производится при помощи операции дискретной свертки1 (взвешенного суммирования):
Результатом служит изображение B. В приведенной формуле не определены пределы суммирования. Обычно ядро фильтра отлично от нуля только в некоторой окрестности N точки (0, 0). За пределами этой окрестности F(i, j) или в точности равно нулю, или очень близко к нему, так что можно им пренебречь. Поэтому суммирование производится по (i, j) Є N, и значение каждого пикселя B(x, y) определяется пикселями изображения A, которые лежат в окне N, центрированном в точке (x, y) (обозначим это множество N(x, y)). Ядро фильтра, заданное на прямоугольной окрестности N, может рассматриваться как матрица m×n, где длины сторон являются нечетными числами. При задании ядра матрицей Mkl, ее следует центрировать:
Также нуждается в дополнительном прояснении ситуация, когда пиксель (x, y) находится в окрестности краев изображения. В этом случае A(x+i, y+j) может соответствовать пикселю A, лежащему за границами изображения A. Данную проблему можно разрешить несколькими способами:
-
не проводить фильтрацию для таких пикселей, обрезав изображение B по краям или закрасив их, к примеру, черным цветом;
-
не включать соответствующий пиксель в суммирование, распределив его вес F(i, j) равномерно среди других пикселей окрестности N(x, y);
-
доопределить значения пикселей за границами изображения при помощи экстраполяции;
-
доопределить значения пикселей за границами изображения, при помощи зеркального отражения.
Выбор конкретного способа нужно производить с учетом конкретного фильтра и особенностей конкретного приложения. Разобрав общее определение линейных фильтров, перейдем к примерам.