面試 仿射變換

2021-10-04 10:13:21 字數 2678 閱讀 3990

仿射變換,給出乙個點在平面旋轉θ

\theta

θ角的仿射矩陣.

題目內容

仿射變換(atf,affine transformation) 是影象的線性變換,對於乙個集合x

xx 的仿射變換可以表示為:

f (x

)=ax

+b,x

∈x

.f(x) = ax+b, x \in x.

f(x)=a

x+b,

x∈x.

對於我們需要處理的影象集合而言,可以表示為:

g (x

,y)=

af(x

,y)+

b.

g(x,y) = af(x,y)+b.

g(x,y)

=af(

x,y)

+b.其中a

aa矩陣就是仿射變換矩陣.

仿射變換

常用的仿射變換包括:

縮放: scale

旋** rotate

平移: transform

反射: reflection

錯切: shear

可以參考圖:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-g7dm8xjc-1585143190947)(

仿射變換中集合中的一些性質保持不變:

(1)凸性

(2)共線性:若幾個點變換前在一條線上,則仿射變換後仍然在一條線上

(3)平行性:若兩條線變換前平行,則變換後仍然平行

(4)共線比例不變性:變換前一條線上兩條線段的比例,在變換後比例仍然步

注:所有的三角形都能通過仿射變化為其他三角形,所有平行四邊形也能仿射變換為另乙個平行四邊形。

由於仿射變換是線性的,所以仿射變換的任意組合仍然是線性的.

仿射變換矩陣推導

仿射變換矩陣推導以 矩陣旋轉為例,也是面試題目的內容:

假設原本點為 c

cc 點,旋轉 θ

\theta

θ 角度之後到達 b

bb 點, 計算旋轉矩陣 a. 以二維矩陣為例

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-qta1thi7-1585143190956)(

對於c ,b

c,bc,

b兩點表示成極座標為 c(r

cos⁡α,

rsin⁡α

)c(r\cos\alpha,r\sin\alpha)

c(rcosα,

rsinα)

,b (r

cos⁡(α

+θ),

rsin⁡(

α+θ)

)b(r\cos(\alpha+\theta),r\sin(\alpha+\theta))

b(rcos(α

+θ),

rsin(α

+θ))

,對於x b=

rcos⁡(

α+θ)

=r

(cos⁡α

cos⁡θ−

sin⁡

αsin⁡θ

)=

(cos⁡θ

−sin⁡θ

)x

cx_b = r\cos(\alpha+\theta) = r(\cos\alpha\cos\theta-\sin\alpha\sin\theta) = (\cos\theta -\sin\theta)x_c

xb​=

rcos(α

+θ)=

r(cosα

cosθ

−sin

αsinθ)

=(cosθ

−sinθ)

xc​

y b=

rsin⁡(

α+θ)

=r

(sin⁡α

cos⁡θ+

cos⁡

αsin⁡θ

)=

(sin⁡θ

+cos⁡θ

)y

cy_b = r\sin(\alpha+\theta) = r(\sin\alpha\cos\theta+\cos\alpha\sin\theta) = (\sin\theta+\cos\theta)y_c

yb​=

rsin(α

+θ)=

r(sinα

cosθ

+cos

αsinθ)

=(sinθ

+cosθ)

yc​所以可以推導出如下矩陣

[ xb

yb]=

[cos⁡θ

−sin⁡θ

sin⁡

θcos⁡θ

][xc

yc

]\left[ \begin } \\ \end \right] =\left[ \begin & \\ & \end \right] \left[ \begin } \\ \end \right]

[xb​yb

​​]=

[cos

θsinθ​

−sin

θcosθ​

][xc

​yc​

​]內容延展

\begin

} \\

\end

\right]

$$

剛性仿射變換演算法 仿射變換

哎慢慢來吧,感覺一大堆東西看不懂.仿射變換就是affine transformation 這是乙個跟影象相關的變換,影象變換是通過矩陣變換來實現的。影象的幾個基本變換有平移 縮放 旋轉 仿射 透視。剛性變換 就像這個題目這樣顯示的,就是非常強硬的變換,在這個二維平面上開始是怎麼樣,後來就是怎麼樣 仿...

仿射變換transform

void viewdidload void clickmeaction 2 仿射變換比例 uiview animatewithduration 1animations 3 仿射變換旋轉 uiview animatewithduration 1animations 4 三種變換的結合 1 transl...

warpAffine OPENCV 仿射變換原理

在opencv中,目前並沒有現成的函式直接用來實現影象旋轉,它是用仿射變換函式cv warpaffine來實現的,此函式目前支援4種插值演算法,最近鄰 雙線性 雙三次 蘭索斯插值,如果傳進去的引數為基於畫素區域關係插值演算法 inter area 則按雙線性插值。通常使用2 3矩陣來表示仿射變換 其...