• 3행 tekapo.bmp 호수 영상을 3채널 컬러 영상으로 불러와 src 변수에 저장합니다.
• 10행 영상의 중심 좌표를 가리키는 변수 cp를 선언합니다.
• 11행 cp 좌표를 기준으로 반시계 방향으로 20° 회전하는 변환 행렬 M을 생성합니다.
• 13~14행 변환 행렬 M을 이용하여 src 영상을 어파인 변환하고, 그 결과를 dst에 저장합니다. dst 영상 크기는 src 영상 크기와 같게 설정합니다.
코드 8-5의 affine_rotation() 함수에서는 영상의 중심 좌표를 Point2f 자료형의 변수 cp에 저장하고, 이 점을 기준으로 영상을 반시계 방향으로 20°만큼 회전합니다. affine_rotation() 함수의 실행 결과는 그림 8-11에 나타냈습니다. 참고로 직사각형 형태의 영상을 회전하면 입력 영상의 일부가 결과 영상에 나타나지 않을 수 있으며, 입력 영상의 일부가 잘리지 않게 영상을 회전하려면 결과 영상의 크기를 더 크게 설정하고 회전과 이동 변환을 함께 고려해야 합니다.
▲ 그림 8-11 영상의 회전 변환 예제 실행 결과