영상을 구성하는 픽셀 배치구조 변경을 통해 전체 영상의 모양 바꾸기
image registration, removal of geometric distortion
이동 변환(Translation transformation)
cv2.warpAffine(src, M, dsize, dst=None, flags=None,
borderMode=None, borderValue=None) -> dst
src: 입력 영상
M: 2 * 3 어파인 변환 행렬.실수형
dsize: 결과 영상 크기. (w,h)튜플로 (0,0)이면 src와 같은 크기
dst: 출력 영상
flags: 보간법. 기본값은 cv2.INTER_LINEAR
borderMode: 가장자리 픽셀 확장 방식으로 기본값은 cv2.BORDER_CONSTANT.
borderValue: cv2.BORDER_CONSTANT일때 사용할 상수 값으로 기본 값은 0이다.
src = cv2.imread('tekapo.bmp')
aff = np.array([[1, 0, 200],
[0, 1, 100]], dtype=np.float32)
dst = cv2.warpAffine(src, trn, (0, 0))
전단 변환(Shear transformation)
src = cv2.imread('tekapo.bmp')
aff = np.array([[1, 0.5, 0], [0, 1, 0]], dtype=np.float32)
h, w = src.shape[:2]
dst = cv2.warpAffine(src, aff, (w + int(h * 0.5), h))