Программирование мультимедиа-систем. Баканов В.М. - 25 стр.

UptoLike

Составители: 

- 25 -
ские преобразования являются результатом применения заданных функций
преобразования:
=
=
ϕ
ϕ
),,(
),,(
y
x
y
y
x
x
1
1
y
2
1
1
x
2
где
y
x
1
1
,
- исходные координаты пикселов изображения,
y
x
2
2
, - преобразованные координаты,
ϕϕ
y
,
x
- заданные функции преобразования.
Простейшими преобразованиями являются аффинные, при этом:
++=
++=
,
,
a
y
a
x
a
y
a
y
a
x
a
x
y
1
yy1yx
2
x
1
xy1xx2
где
a
ij
- постоянные коэффициенты.
Приведенные зависимости удобны для использования в векторной графи-
ке, применение их для растровой графики затруднено по чисто практическим
соображениям (т.к. координаты пикселов преобразованного изображения не
совпадают с таковыми изображения исходного, прямое определение цвета
преобразованных пикселей невозможно).
Выходом из положения является определение интенсивности цвета в неко-
торой точке изображения путем усреднения интенсивностей цветов точек-
соседей (на исходном изображении). Для этого используют интерполяцию
(обычно с применением сплайнов) величины интенсивности каждого из ба-
зовых цветов RGB в окрестности рассматриваемой точки. На рис.2.2 показа-
ны 9 точек
i[i-1,i,i+1], j[j-1,j,j+1], по которым строится интерполяционная по-
верхность интенсивности цвета, и значение интенсивности A=f(x,y) в задан-
ной точке x,y. На рис.2.2 матрица параметров имеет размерность 3
×3, но мо-
жет иметь размер и 4
×
4 и 5
×
5 и больше.
Особенно удобно применять эту технологию при
масштабировании изо-
бражений
(увеличении или уменьшении числа пикселов по горизонтали и
вертикали, причем коэффициенты масштабирования по горизонтали и верти-
кали необязательно совпадают). При масштабировании изображения прово-
дится преобразование параметров функции X и Y в соответствие с заданны-
ми коэффициентами масштабирования и по значению интерполирующей
функции в нужной точке определяется интенсивность цвета пиксела (для
каждого цвета RGB
независимо). В Windows операции преобразований (и
ские преобразования являются результатом применения заданных функций
преобразования:

  ⎧⎪ x 2 = ϕ x ( x1 , y 1 ),
   ⎨ = ( x , ),
   ⎪⎩ y 2 ϕ y 1 y 1


  где x1 , y1 - исходные координаты пикселов изображения,
      x 2 , y 2 - преобразованные координаты,
        ϕ x ,ϕ y - заданные функции преобразования.

  Простейшими преобразованиями являются аффинные, при этом:

  ⎧⎪ x 2 = a xx x1 + a xy y1 + a x ,
   ⎨ =
   ⎪⎩ y 2 a yx x1 + a yy y1 + a y ,


  где   aij - постоянные коэффициенты.

  Приведенные зависимости удобны для использования в векторной графи-
ке, применение их для растровой графики затруднено по чисто практическим
соображениям (т.к. координаты пикселов преобразованного изображения не
совпадают с таковыми изображения исходного, прямое определение цвета
преобразованных пикселей невозможно).
  Выходом из положения является определение интенсивности цвета в неко-
торой точке изображения путем усреднения интенсивностей цветов точек-
соседей (на исходном изображении). Для этого используют интерполяцию
(обычно с применением сплайнов) величины интенсивности каждого из ба-
зовых цветов RGB в окрестности рассматриваемой точки. На рис.2.2 показа-
ны 9 точек i ∈ [i-1,i,i+1], j ∈ [j-1,j,j+1], по которым строится интерполяционная по-
верхность интенсивности цвета, и значение интенсивности A=f(x,y) в задан-
ной точке x,y. На рис.2.2 матрица параметров имеет размерность 3 × 3, но мо-
жет иметь размер и 4 × 4 и 5 × 5 и больше.
  Особенно удобно применять эту технологию при масштабировании изо-
бражений (увеличении или уменьшении числа пикселов по горизонтали и
вертикали, причем коэффициенты масштабирования по горизонтали и верти-
кали необязательно совпадают). При масштабировании изображения прово-
дится преобразование параметров функции X и Y в соответствие с заданны-
ми коэффициентами масштабирования и по значению интерполирующей
функции в нужной точке определяется интенсивность цвета пиксела (для
каждого цвета RGB независимо). В Windows операции преобразований (и


                                       - 25 -