[ch05] 기하학적 변환 - 영상의 회전

빨주노·2021년 8월 22일
0

회전 변환 (rotation transformation)

  • 영상을 특정 각도만큼 회전시키는 변환 (반시계 방향)

영상의 회전 예제

src = cv2.imread('tekapo.bmp')

rad = 20 * math.pi / 180
aff = np.array([[math.cos(rad), math.sin(rad), 0],
                [-math.sin(rad), math.cos(rad), 0]], dtype=float32)

dst = cv2.warpAffine(src, aff, (0, 0))

rad에 저장된 각도에 따라 회전하는 모습을 관찰할 수 있다.

영상의 회전 변환 행렬 구하기

cv2.getRotationMatrix2D(center, angle, scale) -> retval
  • center : 회전 중심 좌표. (x, y) 튜플
  • angle : (반시계 방향) 회전 각도(degree). 음수는 시계 방향.
  • scale : 추가적인 확대 비율
  • retval : 2x3 어파인 변환 행렬. 실수형.

영상의 중앙 기준 회전 예제

src = cv2.imread('tekapo.bmp')

cp = (src.shape[1] / 2, src.shape[0] / 2)
# shape[1]이 width 이므로 x축 방향, shape[0]이 height 이므로 y축 방향
rot = cv2.getRotationMatrix2D(cp, 20, 0.5)

dst = cv2.warpAffine(src, rot, (0, 0))

  • 아래와 같은 과정을 거쳐 회전하게 된다.
profile
딥 하게 딥러닝 하는중

0개의 댓글

관련 채용 정보