- •Лекция 1
- •1.1. Области, связанные с обработкой изображения
- •1.2. Изображение и его машинное представление
- •1.3. Описание сцены и его машинное представление
- •Представление поверхностных моделей.
- •Лекция 2
- •Лекция 2,3
- •Лекция 4,5 Преобразования на плоскости и в пространстве
- •Лекция 6-7-8 Элементы вычислительной геометрии на плоскости.
- •Отсечение отрезка на плоскости
- •Алгоритм Сазерленда-Коэна
- •Отсечение полигона выпуклым окном
- •Плоскость
- •Полигон
- •Лекция 9-10-11-12 Удаление невидимых линий и поверхностей
- •Лекция 13 Наложение текстур
- •Лекция 14 Освещение
- •Лекция 15 Устранение лестничного эффекта (Antialiasing)
- •Лекция 16 Дискретизация изображений
- •Палитры и оптимизация палитр.
- •Метод квантования цветов медианным сечением.
- •Лекция 17,18 Форматы растровых файлов
- •Сжатие графической информации
- •Типы изображений.
- •Требования к алгоритмам компрессии.
- •Критерии сравнения алгоритмов.
- •Алгоритмы архивации без потерь.
- •Лекция 19 Классы изображений и переходы между ними
- •Сегментация изображений
- •Построение контура
- •Построение скелета (остова) области
- •Сегментация кривых
- •Интерполирование
- •Заливка областей
- •Сглаживание
- •Лекция 20 Распознавание образов Понятие образа
- •Проблема обучения распознаванию образов
- •Геометрический и структурный подходы.
- •Гипотеза компактности
- •Самообучение.
- •Перцептроны
- •Р Классы (образы) аспознавание графических образов
- •Лекция 21 Аппроксимация кривых и поверхностей сплайнами
- •Сплайн-функции одной переменной
- •Кривые Безье
- •Где nk(t) – функциональные весовые множители.
- •Рациональные в-сплайновые поверхности
- •Лекция 22 Устройства ввода и вывода графической информации
- •Мониторы
- •Принтеры
- •Графопостроители
- •Сканеры
- •Планшеты и указатели
- •Графические акселераторы
- •Лекция 23 Архитектура графических систем
Сплайн-функции одной переменной
Допустим, что мы хотим построить кривую y=y(x), проходящую через последовательность контрольных точек сетки (x0,y0), (xi,yi), ..., (xn,yn) с x0<x1<...<xn. Точки x0 и xn называются граничными узлами сетки, а x1 … xn-1 - внутренними узлами. Функция S(x), заданная на отрезке [x0,xn], называется сплайном степени p, если:
-
на каждом интервале [xi,xi+1], i=0,1,n-1, эта функция должна быть многочленом заданной степени p>=2, т.е.

-
S(x) непрерывна и имеет p-1 непрерывных производных на всем интервале [x0,xn].
Для задания сплайна на каждом интервале требуется определить (p+1) коэффициентов, всего потребуется n(p+1) чисел. Условия непрерывности функции и ее p-1 производных на всех внутренних (n-1) узлах, дают p(n-1) уравнений, оставшиеся (n(p+1)-p(n-1))=n+p уравнений, необходимых для полного задания сплайна определяются пользователем. Например, можно потребовать, чтобы кривая проходила точно через узлы сетки (интерполяционный сплайн), что дает еще (n+1) уравнений. Оставшиеся (p-1) уравнений можно задать в виде младших производных сплайна на граничных узлах отрезка. Если требуется построить сглаживающую кривую (т.е. проходящую не точно через узлы, а где-то поблизости от них), дополнительные уравнения строят исходя из условий близости, которые можно определять по-разному.
Н
апример,
требуется построить интерполирующий
кубический сплайн, по 4-м узлам.
Нужно получить 3*4=12 коэффициентов (по 4 на каждый из 3-х интервалов), т.е. 12 составить 12 уравнений. Полиномы в интервалах будут иметь вид:
![]()
Условия непрерывности сплайна задаются как:
,
для i=0,…,n-2
![]()
Условия непрерывности первой производной:
,
для i=0,…,n-2
![]()
Условия непрерывности второй производной:
,
для i=0,…,n-2
![]()
Условия прохождения сплайна через узлы сетки:
,
для i=0,…,n
![]()
Оставшиеся 2 условия можно задать, с помощью первых производных в граничных узлах сетки:
,
,
,
![]()
Основные недостатки такого подхода:
-
изменение одного из узлов сетки влечет за собой вычисление заново всего сплайна;
-
при большом кол-ве узлов приходится решать систему линейных уравнений, большой размерности;
-
Требуется большой объем памяти для хранения коэффициентов.
-
с точки зрения эстетики такое решение не всегда приемлемо, т.к. кривизна поверхности, сконструированной с помощью сплайнов изменяется иногда неравномерно, что приводит к искажениям (например, причудливые искажения предметов, отраженных от кузова автомобиля).
B-Сплайны
Чтобы избавиться от первого недостатка применяют B-сплайны (базовые или фундаментальных), кроме того, эти сплайны требуют хранения меньшего кол-ва коэффициентов (n+p-1) вместо n(p+1), что значительно снижает требования к памяти. B-сплайн 0-ой степени это ступенчатая функция.
,
для более высоких степеней она вычисляется
по рекуррентной функции:
![]()
Наиболее часто используются кубические B-сплайны, его функция для сетки с постоянными интервалами h:
,
где
![]()
Сплайн-функция является суммой B-сплайнов с некоторыми коэффициентами.
![]()

n+2 коэффициента вычисляются из системы:
![]()

