Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гришкин / 21-22. Преобразование изображений.ppt
Скачиваний:
31
Добавлен:
16.04.2015
Размер:
3.35 Mб
Скачать

Преобразование изображений

Координаты угловых точек в этом случае

x00

H cos sin

y00

H sin 2 .

x

W W sin 2

10

 

y

W cos sin 2 .

10

 

x11 W x00

y11

H y00 .

x01 W x10

y11

H y10 .

Преобразование изображений

Ширина S и высота T повернутого изображения будут

S W cos H sin T W sin H cos .

Примем размер пикселя за 1x1. Тогда значения S и T необходимо округлить до

целых. Координаты пикселей повернутого изображения (s,t) тогда принимают

значения от 0 до

S 1 и

от 0 до

T 1 . Вычислим координаты пикселя

повернутого изображения

(s,t)

в системе координат (w, h)

исходного

изображения. Для этого найдем координаты граничных пикселей произвольной

строки повернутого изображения.

 

 

 

 

 

r0 r00 (1 t /T ) r01t /T

 

 

 

 

r1 r10 (1 t /T ) r11t /T.

 

Здесь

 

!x y |

это вектор координат соответствующих точек. Затем вычисляем

r

искомые координаты

 

 

 

r r0 (1 s / S) r1s / S

Преобразование изображений

Перебирая все значения t от 0 до T-1, и все значения s от 0 до S-1 , последовательно вычисляются координаты всех пикселов повернутого изображения относительно исходного изображения. Если горизонтальная координата оказывается отрицательной или больше, чем W, то значит пиксел повернутого изображения лежит за пределами исходного изображения, как и при значениях вертикальной координаты, выходящей за пределы промежука [0,H]. В этом случае пиксел отбрасывается. На рисунках такие области помечены темно-голубым цветом.

Посмотрим теперь взаимное расположение пикселей повернутого изображения относительно исходного изображения. Для каждого пикселя повернутого изображения нужно вычислить его новую яркость в зависимости от яркостей пикселей исходного изображения на которые он накладывается.. Это вычисление можно производить разными способами.

1.Можно просто приписывать новому пикселю яркость того пикселя куда попадает его

верхний левый угол. L L

Это метод ближайшего соседаA

Преобразование изображений

2. Более точно вычислять яркость с помощью 4 пикселей ближайшего окружения.

Этот метод называется билинейной интерполяцией. Яркость нового пикселя в этом случае ищется как средневзвешенная яркость этих 4-х пикселей.

3. Еще более точно вычисляется яркость с помощью 8 пикселей ближайшего окружения. Этот метод называется бикубической интерполяцией.

Наиболее часто используется билинейная интерполяция. Алгоритма вычисления весов могут быть разными. Хорошие результаты дает следующий, учитывающий положение пикселя относительно своего окружения.

L LA (1 x)(1 y) LB x(1 x) LC (1 x) y LD xy

Преобразование изображений

Видно, что в вычислении яркостей новых пикселей участвует не вся площадь изображения, а некоторые участки учитываются дважды. Это, конечно, приводит к некоторым искажениям повернутого изображения, однако, как показывает опыт, для однократного поворота эти искажения незначительны. При многократном повороте изображения станут заметны отдельные участки, где резкость картинки существенно снижается. Особенно это проявляется на печатных текстах.

Преобразование изображений

800

400

1200

Преобразование изображений