이미지 회전하기
c++)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *srcImage = cvLoadImage("D:/study/testimage3.jpg", -1); IplImage *resultImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); //cv2DRotationMatrix(회전중심좌표, 회전각도, 스케일, 생성될 2x3 변환행렬) : 2x3 변환행렬 생성 const double angle = 45; //시계반대방향으로 45도 회전 const double scale = 1; CvMat *matrix = cvCreateMat(2, 3, CV_32FC1); cv2DRotationMatrix(cvPoint2D32f(srcImage->width / 2, srcImage->height / 2), angle, scale, matrix); //cvWarpAffine(원본이미지, 결과이미지, 2x3변환행렬, flag, 배경색) : 변환행렬을 영상에 적용 /* flag CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS : 양선형 보간법 CV_WARP_INVERSE_MAP : 역방향 사상 보간법 */ cvWarpAffine(srcImage, resultImage, matrix, CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS, cvScalarAll(0)); cvNamedWindow("original", CV_WINDOW_AUTOSIZE); cvNamedWindow("rotation", CV_WINDOW_AUTOSIZE); cvShowImage("original", srcImage); cvShowImage("rotation", resultImage); cvWaitKey(0); cvReleaseImage(&srcImage); cvReleaseImage(&resultImage); } | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
Cocos 충돌여부 체크하기 (0) | 2017.05.02 |
---|---|
OpenCV 이미지 대칭하기 (0) | 2017.05.01 |
OpenCV 이미지 확대하기 (0) | 2017.04.29 |
OpenCV 이미지 히스토그램 평활화하기 (0) | 2017.04.28 |
OpenCV 컬러이미지를 채널별로 분리하여 히스토그램 그리기 (0) | 2017.04.27 |