영상 처리를 하다보면 영상 회전이 필요할 경우가 많다.
opencv의 워프어파인 변환 함수를 이용하여 영상을 회전하는 방법이다.
특수각일경우에 대한 추가 처리를 해주면 연산 속도는 조금 더 빨라진다.
이방법이 좋은 방법은 아니지만 간단하게 회전 영상을 구할때 사용하면 괜찮다.
- Mat RotateImage(Mat img, int angle, double x, double y)
- {
- // 영상 중심기준 회전
- //CvPoint2D32f center = cvPoint2D32f(img.cols/2, img.rows/2);
- // 사용자 지정위치 (x,y) 기준 회전
- CvPoint2D32f center = cvPoint2D32f(x, y);
- CvMat* rotation = cvCreateMat(2, 3 , CV_32FC1);
- cv2DRotationMatrix(center, double(angle), 1.0, rotation);
- cvWarpAffine(&IplImage(img), &IplImage(img), rotation);
- cvReleaseMat(&rotation);
- return img;
- }
'Programming > OpenCV' 카테고리의 다른 글
unsigned char* 형 버퍼를 IplImage 또는 Mat 으로 변환하기. (0) | 2014.08.18 |
---|---|
[Function] HoG Destriptor in OpenCV (0) | 2014.01.27 |
[Function] IplImage 에 한글text 삽입하기 (1) | 2013.11.07 |
DC -> IplImage로 전환 (0) | 2013.08.08 |
cv::Mat Class 사용법 (0) | 2013.05.06 |