C# OpenCV 강좌 : 제 6강 - 회전
회전(Rotate)
영상이나 이미지를 회전
시켜 띄울 수 있습니다.
90°
, 45°
, -45°
등 다양한 각도로 회전이 가능합니다.
원본(Source, src)
은 영상이나 이미지를 사용합니다.
클래스 코드
세부 코드
Rotate()
에서 영상을 대칭하게 됩니다.
rotate
에 메모리 확보를 위하여 선언합니다. IplImage(크기, 정밀도, 채널)
을 입력합니다. 단색일 경우 채널은 1
이며, 다색일 경우 채널은 3
입니다.
Cv.GetRotationMatrix2D()
을 이용하여 화면을 회전
합니다.
Cv.GetRotationMatrix2D(중심점(x, y), 각도, 스케일)
을 설정합니다.
중심점
은 영상이나 이미지를 회전시킬 좌표
를 의미합니다.
스케일
은 영상이나 이미지를 확대, 축소 시킬 크기
를 의미합니다.
Cv.WarpAffine()
을 이용하여 회전 결과를 생성합니다.
Cv.WarpAffine(원본, 결과, 배열, 보간법, 여백색상)
을 의미합니다.
-
Tip :
Interpolation.Linear
은 영상이나 이미지의 보간을 위해 보편적으로 사용되는 보간법입니다. -
Tip :
CvScalar.ScalarAll(0)
는 여백을 검은색으로 채웁니다.
메인 코드
Rotate()
는 src
이외에도 angle
값을 추가로 받습니다. 영상이나 이미지를 회전시킬 각도
를 입력합니다.
영상이나 이미지는 가로와 세로의 크기가 다른 경우
가 많습니다. 이 경우 회전시킬시에 생기는 공백
은 검은색
으로 처리됩니다.
댓글 남기기