1. 程式人生 > >射影變換與仿射變換、透視變換(射影既透視,包含了Z軸的資訊)

射影變換與仿射變換、透視變換(射影既透視,包含了Z軸的資訊)





影象處理的仿射變換和透視變換(射影既透視,包含了Z軸的資訊)

其實一直也沒理解“仿射”倆字是啥意思,但是大家都這麼叫,其實仿射變換和透視變換更直觀的叫法可以叫做“平面變換”和“空間變換”或者“二維座標變換”和“三維座標變換”。如果這麼命名的話,其實很顯然,這倆是一回事,只不過一個是二維座標(x,y),一個是三維座標(x,y,z)。也就是:

仿射變換: 
這裡寫圖片描述

透視變換: 
這裡寫圖片描述

從另一個角度也能說明三維變換和二維變換的意思,仿射變換的方程組有6個未知數,所以要求解就需要找到3組對映點,三個點剛好確定一個平面。透視變換的方程組有8個未知數,所以要求解就需要找到4組對映點,四個點就剛好確定了一個三維空間。

射變換主要包括平移變換、旋轉變換、縮放變換(也叫尺度變換)、傾斜變換(也叫錯切變換、剪下變換、偏移變換)、翻轉變換。有六個

自由度

仿射變換保持二維圖形的“平直性”和“平行性”,但是角度會改變。

“平直性”:變換後直線還是直線、圓弧還是圓弧

“平行性”:平行線還是平行線,直線上點的位置順序不變


數學公式如下:


射影變換:是最一般的線性變換。有8個自由度。

射影變換保持重合關係和交比不變。但不會保持平行性。

如下圖所示:


數學公式如下:

參考: http://blog.csdn.net/kinbosong/article/details/64923831 
http://blog.sina.com.cn/s/blog_90cf580001013oc4.html 
http://blog.csdn.net/u014096352/article/details/53526747 
https://zhidao.baidu.com/question/189639914.html

剛性變換

這裡先提一下一種很一般的變換,剛性變換。剛性變換:只有物體的位置(平移變換)和朝向(旋轉變換)發生改變,而形狀不變,得到的變換稱為剛性變換。

仿射變換 (affine transformation)

仿射變換和射影變換的區別

射影變換組成了一個群,這個群被稱為射影變換群,n×n可逆實矩陣稱為一般線性群GL(n),當把相差非零純量因子的矩陣都視為等同時,便得到射影對映群,記為PL(n)。在平面,射影變換為PL(3)。 
射影變換在平面的變換矩陣形式如下,也就是一個3×3的矩陣。 
這裡寫圖片描述 
其中當上面矩陣的最後一行為(0,0,1)時的變換就為仿射變換,在仿射的前提下,當左上角2×2矩陣正交時為歐式變換,左上角矩陣行列式為1時為定向歐式變換。所以射影變換包含仿射變換

,而仿射變換包含歐式變換。 
至此我們得到了射影變換和仿射變換的關係。

解析變換矩陣

我們將上面的矩陣分成幾個部分,如下: 
這裡寫圖片描述 
其中大矩形中的4個元素組成的整體表示線性變換,比如scaling(尺度),shearing(剪下)和ratotion(旋轉);橢圓部分表示平移的引數,一個確定在x方向上的平移一個確定在y方向上的平移;小矩形部分用於產生透視變換。從這裡所以可以理解成仿射等是透視變換的特殊形式。

仿射變換的組成

仿射變換主要包括平移變換、旋轉變換、縮放變換(也叫尺度變換)、傾斜變換(也叫錯切變換、剪下變換、偏移變換)有六個自由度。 
下面具體展示一下各個變換的變換矩陣的形式: 
這裡寫圖片描述 
這裡寫圖片描述

仿射變換的特點

仿射變換保持二維圖形的“平直性”和“平行性”,但是角度會改變。 
“平直性”:變換後直線還是直線、圓弧還是圓弧。 
“平行性”:平行線還是平行線,直線上點的位置順序不變。 
它有6個自由度,即旋轉4個,也就是前述大矩形的4個元素都可以同時改變,x方向平移,y方向平移。它能保持平行性,不能保持垂直性,Image中各部分變換前後面積比保持不變,共線線段或者平行線段的長度比保持不變,向量的線性組合不變。

射影變換(projective transformation)

在這裡需要明晰一下的是,透視變換(Perspective Transformation)也稱作投影變換(Projective Transformation)、射影變換。 
射影變換:是最一般的線性變換。有8個自由度。 
射影變換保持重合關係和交比不變。但不會保持平行性。即它會使得仿射變換產生非線性效應。

其他的一些變換

在介紹了仿射變換之後其實我們就應該可以接受更多的變換,但限於本文的主旨是要辨析仿射變換和射影變換之間的關係,所以將該小節的東西放在最後。

等距變換

等距變換相當於是平移變換和旋轉變換的複合,用R表示變換矩陣,即為 
這裡寫圖片描述 
左上角2×2矩陣為旋轉部分,tx和ty為平移因子,它有三個自由度,即旋轉,x方向平移,y方向平移。等距變換前後長度,面積,線段之間的夾角都不變。

相似變換

相似變換相當於是等距變換和均勻縮放的一個複合,用S表示變換矩陣,即為 
這裡寫圖片描述 
左上角2×2矩陣為旋轉部分,tx和ty為平移因子,它有4個自由度,即旋轉,x方向平移,y方向平移和縮放因子s。相似變換前後長度比,夾角,虛圓點I,J保持不變。相似變換其實與相似三角形之間是有類似的。