9.3.1 회전 변환에 관한 이론적 설명
회전 변환rotation transform은 영상을 원점 (0, 0)을 기준으로 특정 각도만큼 회전시키는 변환을 의미한다. 회전 변환은 어느 방향으로 회전을 하는지를 미리 결정해두어야 하는데, 이 책에서는 시계 방향으로 회전하는 방법에 대하여 설명하겠다.
영상을 시계 방향으로 θ°만큼 회전하는 변환을 수식으로 표현하면 다음과 같다.
여기서 (x, y)는 입력 영상의 좌표이고, (x´, y´)는 회전 변환된 결과 영상의 좌표이다.
그림 9-20은 영상을 시계 방향으로 회전시킬 때의 동작을 보여준다. 일반적으로 회전 변환을 수행하여 생성되는 결과 영상은 원본 영상의 영역을 벗어난다. 그러나 이 책에서는 결과 영상의 전체를 보여줄 수 있도록 결과 영상의 크기를 확대하여 생성할 것이다. 이를 위해 회전 변환에 의해 만들어지는 결과 영상의 크기를 먼저 계산해야 한다. 결과 영상의 크기는 원본 영상의 4개의 꼭지점 좌표를 위의 회전 공식대로 회전시킨 후, 가로 방향과 세로 방향으로 각각 최댓값과 최솟값의 차이를 계산하면 구할 수 있다.
회전 변환을 구현할 때에도 역방향 매핑을 사용해야 비어 있는 픽셀이 생기지 않는다. 그러므로 결과 영상의 픽셀 좌표에서 원본 영상의 픽셀 좌표를 계산해야 하며 계산 식은 다음과 같다.