getAffineTransform
Mat cv::getAffineTransform(
const Point2f src[],
const Point2f dst[]
)
Mat Cv2.GetAffineTransform(
IEnumerable<Point2f> src,
IEnumerable<Point2f> dst
)
retval = cv2.getAffineTransform(
src,
dst
)
Note:
실제 아핀 변환 행렬은 3×3이며, OpenCV에서는 불필요한 연산을 줄이기 위해 2×3 행렬로 표현합니다.
아핀 변환 행렬 계산식(Affine Transform Matrix Formula): $$ \begin{bmatrix} {x_1}' \\ {y_1}' \\ {x_2}' \\ {y_2}' \\ {x_3}' \\ {y_3}' \\ \end{bmatrix} = \begin{bmatrix} {x_1} & {y_1} & 0 & 0 & 1 & 0 \\ 0 & 0 & {x_1} & {y_1} & 0 & 1 \\ {x_2} & {y_2} & 0 & 0 & 1 & 0 \\ 0 & 0 & {x_2} & {y_2} & 0 & 1 \\ {x_3} & {y_3} & 0 & 0 & 1 & 0 \\ 0 & 0 & {x_3} & {y_3} & 0 & 1 \\ \end{bmatrix} \cdot \begin{bmatrix} a \\ b \\ c \\ d \\ e \\ f \\ \end{bmatrix} $$
아핀 변환 행렬(Affine Transform Matrix): $$ \text{matrix} = \begin{bmatrix} a & b & e \\ c & d & f \\ 0 & 0 & 1 \end{bmatrix} \Rightarrow \begin{bmatrix} a & b & e \\ c & d & f \end{bmatrix} $$
요약(Summary)
여섯 개의 좌표를 활용해 아핀 변환 행렬을 생성합니다.
매개변수(Parameter)
변환 전 세 개의 픽셀 좌표(src)
아핀 변환 행렬 생성을 위한 삼각형 형태의 픽셀 기준 좌표
변환 후 세 개의 픽셀 좌표(dst)
아핀 변환 행렬 생성을 위한 삼각형 형태의 픽셀 기준 좌표
반환값(Returns)
아핀 변환 행렬(retval)
2×3 아핀 변환 행렬