cv2.warpAffine( )詳細(xì)解析
概述
圖像的幾何變換主要包括:平移、旋轉(zhuǎn)、縮放、剪切、仿射、透視等。
圖像的幾何變換主要分為:剛性變換、相似變換、仿射變換和透視變換(投影變換)
剛性變換:平移+旋轉(zhuǎn)
相似變換:縮放+剪切
仿射變換:從一個(gè)二維坐標(biāo)系變換到另一個(gè)二維坐標(biāo)系,屬于線性變換。通過已知3對坐標(biāo)點(diǎn)可以求得變換矩陣
透視變換:從一個(gè)二維坐標(biāo)系變換到一個(gè)三維坐標(biāo)系,屬于非線性變換。通過已知4對坐標(biāo)點(diǎn)可以求得變換矩陣。

仿射變換
仿射變換(Affine Transformation)是指在向量空間中進(jìn)行一次線性變換(乘以一個(gè)矩陣)和一次平移(加上一個(gè)向量),變換到另一個(gè)向量空間的過程。
仿射變換代表的是兩幅圖之間的映射關(guān)系,仿射變換矩陣為2x3的矩陣,如下圖中的矩陣M,其中的B起著平移的作用,而A中的對角線決定縮放,反對角線決定旋轉(zhuǎn)或錯(cuò)切。

原像素點(diǎn)坐標(biāo)(x,y),經(jīng)過仿射變換后的點(diǎn)的坐標(biāo)是T,則矩陣仿射變換基本算法原理:

所以仿射變換是一種二維坐標(biāo)(x,y)到二維坐標(biāo)(u,v)之間的線性變換,其數(shù)學(xué)表達(dá)式如下:

這個(gè)矩陣是2×3的,但是這會改變原始圖像的維度,為此,增加一個(gè)維度,構(gòu)造齊次變換矩陣3×3

這就保持了圖像的‘平直性’和‘平行性’。
平直性:直線、圓弧不變
平行性:平行關(guān)系不變,直線相對位置不變,但是夾角可能會改變。
函數(shù)原型
warpAffine(src, M, dsize, dst=None, flags=None, borderMode=None, borderValue=None)
參數(shù)解析:

示例源代碼:
顯示效果如下:


如果對您有幫助,請點(diǎn)個(gè)贊哦?!
感謝感謝!