본문 바로가기
배워보자!!/Opencv

[Opencv] IplImage 이미지 상하,좌우 반전

by norinda 2018. 11. 29.
728x90

이번엔 이미지를 회전이 아닌

좌우 , 상하 반전을 시켜보는 부분이다.

카메라가 반대로 달릴경우 사용한 부분이다

이부분도 간단합니다.


이미지를 로드해

하나는 상하, 다른 하나는 좌우로

반전해서 보여줍니다.

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
    CString FilePath = "";
    CString curWindowName = "window";
    IplImage *loadIplImage;
 
    loadIplImage = cvLoadImage("./image/hand.jpg");
 
    IplImage *copyIplImageX, *copyIplImageY;
    copyIplImageX = cvCreateImage(cvSize(loadIplImage->width , loadIplImage->height),IPL_DEPTH_8U , loadIplImage->nChannels);
    copyIplImageY = cvCreateImage(cvSize(loadIplImage->width , loadIplImage->height),IPL_DEPTH_8U , loadIplImage->nChannels);
 
    cvFlip(loadIplImage,copyIplImageX,0);//수직 반전
    cvFlip(loadIplImage,copyIplImageY,1);//수평 반전
    cvShowImage(curWindowName,loadIplImage);    //윈도우에 출력
    cvNamedWindow("flipImageX",1);
    cvNamedWindow("flipImageY",1);
    cvShowImage("flipImageX",copyIplImageX);
    cvShowImage("flipImageY",copyIplImageY);
 
    cvWaitKey(0);                        //프로그램의 동작을 잠시 멈추고 사용자로부터 키 입력을 기다린다.
 
    cvReleaseImage(&loadIplImage);        //할당된 메모리 공간을 해제한다.
    cvReleaseImage(&copyIplImageX);
    cvReleaseImage(&copyIplImageY);
    cvDestroyWindow("flipImageX");
    cvDestroyWindow("flipImageY");
    cvDestroyWindow(curWindowName);        //윈도우를 닫고, 윈도우를 위해 동적할당된 메모리 공간을 모두 해제한다. 
cs


반응형

댓글