Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

середа, 28 квітня 2021 р.

Афінні перетворення

Mathedemo Геометричним перетворенням зображення f(x,y) називається таке перетворення дискретної площини, при якому піксель з координатами (x,y) переміщується у позицію з новими координатами (x,y). Нові координати визначаються двома функціями для кожної координати: x=Tx(x,y),y=Ty(x,y). На відміну від градаційних перетворень, геометричні перетворення не змінюють значення пікселів, а лише змінюють положення пікселів на зображенні. Ми розглянемо два типи геометричних перетворень які зберігають об'єкти сцени на перетворених зображеннях -- афінні та проективні.

Афінні перетворення

Афінними називаються лінійні перетворення вигляду x=Tx(x,y)=a11x+a21y+b1,y=Ty(x,y)=a21x+a22y+b2, або у матричному записі (xy)=(a11a21a21a22)(xy)+(bxby), де матриця A=(a11a21a21a22) є невиродженою. Матриця A називається матрицею повороту, а вектор (b1b2) називається вектором паралельного перенесення.

Афінні перетворення переводять паралельні лінії у паралельні, проте можуть не зберігати відстані і кути. Якщо матриця A ортогональна, тобто AA=E, то відповідне афінне перетворення називається ортогональним. Ортогональні перетворення зберігають відстані та кути.

Афінне перетворення також задається в однорідних координатах (xy1)=(a11a21bxa21a22by,001)(xy1). Важливою характеристикою афінного перетворення є те, що воно має обернене. Якщо відомі матриця повороту та вектор паралельного перенесення, то із перетвореного (деформованого) зображення можна відновити оригінальне зображення.

Всі афінні перетворення зводяться до таких базових перетворень: паралельне перенесення, масштабування - стиснення та розширення, зсув, поворот, центральна та осьова симетрії та їхніх композицій.

Паралельне перенесення має вигляд (xy)=(xy)+(b1b2). Розтягнення та стиснення вздовж осей Ox та Oy з коефіцієнтами sx i sy (масштaбне перетворення, scaling): (xy)=(sx00sy)(xy). (гомотетія з центром в початку координат) При sx=sy отримуємо рівномірне розтягнення та стиснення (uniform scaling).

Зсув (shear) вздовж осей x та y з коефіцієнтами bx i by (xy)=(1bxby1)(xy). Поворот навколо центру координат на кут θ: (xy)=(cosθsinθsinθcosθ)(xy). Поворот може бути представлений як композиція трьох скосів (cosθsinθsinθcosθ)=(0tanθ201)(10sinθ1)(0tanθ201). Поворот навколо довільної точки площини з координатами (xc,yc) на кут θ: (xy)=(cosθsinθsinθcosθ)(xxcyyc)+(xcyc). Симетрії відносно початку координат, осі Ox, Oy і прямої y=x мають такі матриці (1001),(1001),(1001). Якщо матриця афінного перетворення невідома, то її можна відновити, вказавши три відповідні точки на зображеннях, які мають перейти одна в одну при цьому перетворенні.

Немає коментарів:

Дописати коментар