圖像處理之_仿射變換與透視變換

1. 仿射變換

1) 用途

旋轉(zhuǎn) (線性變換),平移(向量加).縮放(線性變換),錯(cuò)切,反轉(zhuǎn)

2) 方法

仿射變換是一種二維坐標(biāo)到二維坐標(biāo)之間的線性變換,它保持了二維圖形的“平直性”(直線經(jīng)過(guò)變換之后依然是直線)和“平行性”(二維圖形之間的相對(duì)位置關(guān)系保持不變,平行線依然是平行線,且直線上點(diǎn)的位置順序不變)。任意的仿射變換都能表示為乘以一個(gè)矩陣(線性變換),再加上一個(gè)向量 (平移) 的形式.

圖片.png

以上公式將點(diǎn)(x,y)映射到(x’,y’),在OpenCV中通過(guò)指定一個(gè)2x3矩陣實(shí)現(xiàn)此功能(公式中的m矩陣,是線性變換和平移的組合,m11,m12,m21,m22為線性變化參數(shù),m13,m23為平移參數(shù),其最后一行固定為0,0,1,因此,將3x3矩陣簡(jiǎn)化為2x3)

3) 舉例

a) 以原點(diǎn)為中心旋轉(zhuǎn),2x3矩陣為:
[ cos(theta), -sin(theta), 0 ],
[ sin(theta), cos(theta), 0 ]

x’ = x * cos(theta) - sin(theta) * y
y’ = x * sin(theta) + cos(theta) * y
b) 平移,2x3矩陣為
[1,0,tx],
[0,1,ty]

x’ = x * 1 + y * 0 + tx = x + tx
y’ = x * 0 + y * 1 + ty = y + ty

4) 具體應(yīng)用

在OpenCV中,仿射變換通過(guò)函數(shù)cvWrapAffine(src,dst,mat)實(shí)現(xiàn),其中mat是2x3的仿射矩陣,該矩陣可以利用函數(shù)cvGetAffineTransform(srcTri,dstTri,mat)得到,其中mat是被該函數(shù)填充的仿射矩陣,srcTri和dstTri分別是由三個(gè)頂點(diǎn)定義的平行四邊形(由于是平行四邊形,只需要指定三個(gè)頂點(diǎn)即可確定),即:給出變換前的ABCD和變換后的A’B’C’D’

圖片.png

2. 透視變換(投影變換)

1) 用途

將2D矩陣圖像變換成3D的空間顯示效果,全景拼接.

2) 方法

透視變換是將圖片投影到一個(gè)新的視平面,也稱作投影映射.它是二維(x,y)到三維(X,Y,Z),再到另一個(gè)二維(x’,y’)空間的映射.相對(duì)于仿射變換,它提供了更大的靈活性,將一個(gè)四邊形區(qū)域映射到另一個(gè)四邊形區(qū)域(不一定是平行四邊形).它不止是線性變換.但也是通過(guò)矩陣乘法實(shí)現(xiàn)的,使用的是一個(gè)3x3的矩陣,矩陣的前兩行與仿射矩陣相同(m11,m12,m13,m21,m22,m23),也實(shí)現(xiàn)了線性變換和平移,第三行用于實(shí)現(xiàn)透視變換.

圖片.png

以上公式設(shè)變換之前的點(diǎn)是z值為1的點(diǎn),它三維平面上的值是x,y,1,在二維平面上的投影是x,y,通過(guò)矩陣變換成三維中的點(diǎn)X,Y,Z,再通過(guò)除以三維中Z軸的值,轉(zhuǎn)換成二維中的點(diǎn)x’,y’.從以上公式可知,仿射變換是透視變換的一種特殊情況.它把二維轉(zhuǎn)到三維,變換后,再轉(zhuǎn)映射回之前的二維空間(而不是另一個(gè)二維空間).

3) 具體應(yīng)用

在OpenCV中,透視變換通過(guò)函數(shù)cvWrapPerspective(src,dst,mat)實(shí)現(xiàn), 與仿射變換不同的是,透視矩陣是一個(gè)3x3的矩陣,在計(jì)算矩陣時(shí),可利用函數(shù)cvGetPerspectiveTransform(srcQuad,dstQuad,mat),由于不再是平行四邊形,需要提供四邊形的四個(gè)頂點(diǎn)

圖片.png

3. 區(qū)別

仿射變換后平行四邊形的各邊仍操持平行,透視變換結(jié)果允許是梯形等四邊形,所以仿射變換是透視變換的子集

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容