더북(TheBook)

3행 tekapo.bmp 파일을 3채널 컬러 영상으로 불러와 src에 저장합니다.

10행 입력 영상과 출력 영상에서의 세 점 좌표를 저장할 srcPtsdstPts 배열을 선언합니다.

11~13행 srcPts 배열에 입력 영상의 좌측 상단, 우측 상단, 우측 하단의 좌표를 저장합니다.

14~16행 dstPts 배열에 srcPts 점들이 이동할 좌표를 저장합니다.

18행 2×3 어파인 변환 행렬을 M에 저장합니다.

21행 어파인 변환 행렬 M을 이용하여 src 영상을 어파인 변환하여 dst에 저장합니다. warpAffine() 함수의 네 번째 인자에 Size()를 지정하여 dst 영상 크기가 src 영상 크기와 같아지도록 설정하였습니다.

 

코드 8-1에서 사용한 tekapo.bmp 영상은 640×480 크기의 호수 영상입니다. 기하학적 변환은 그레이스케일 영상과 3채널 컬러 영상에 대해 동일한 방식으로 동작하므로 이 예제에서는 3채널 컬러 영상을 입력으로 사용하였습니다. 입력 영상에서 좌측 상단, 우측 상단, 우측 하단 점의 좌표를 srcPts 배열에 저장하였고, dstPts 배열은 srcPts 각 점이 이동할 좌표를 임의로 지정하였습니다. 즉, affine_transform() 함수에서는 (0, 0) 점은 (50, 50)으로 이동하고, (639, 0) 점은 (540, 100)으로, (639, 479) 점은 (590, 430) 좌표로 이동하는 어파인 변환을 사용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.