圖像幾何變換之仿射變換


1. 原理

  仿射變換(Affine Transformation 或Affine Map)是一種二維坐標(x, y)到二維坐標(u, v)的線性變換,其數學表達式形式如下:

  

  對應的齊次坐標矩陣表示形式為:

  

  仿射變換保持了二維圖形的“平直性”(直線經仿射變換后依然為直線)和“平行性”(直線之間的相對位置關系保持不變,平行線經仿射變換后依然為平行線,且直線上點的位置順序不會發生變化)。非共線的三對對應點確定一個唯一的仿射變換。

2. 二維圖像仿射變換

  圖像處理中,可應用仿射變換對二維圖像進行平移、縮放、旋轉等操作。實例如下:

  

  經仿射變換后,圖像關鍵點依然構成三角形,但三角形形狀已經發生變化。

3. 原子變換

  仿射變換通過一系列原子變換復合實現,具體包括:平移(Translation)、縮放(Scale)、旋轉(Rotation)、翻轉(Flip)和錯切(Shear)。

  a. 平移

    

    

  b. 縮放

    

    

  c. 旋轉

    

    

  d. 翻轉

    

    

  e. 錯切

    錯切亦稱為剪切或錯位變換,包含水平錯切和垂直錯切,常用於產生彈性物體的變形處理。

    

    

    

4. 程序

clc;
clear all;close all;
clc;

image = imread('jyy.png');

% u = 4 * x and v = 2 * y
T = [4 0 0; 0 2 0; 0 0 1];

% create spatial transformation structure.
transformation = maketform('affine', T);

% apply 2D spatial transformation to image.
transformationResult = imtransform(image, transformation);

  結果示例:

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM