공부해요/OpenCV

[ openCV 제대로 배우기 ] ex2-2.exe - AVI동영상 재생

예쁜꽃이피었으면 2014. 7. 28. 09:25

//사용법: ex2-2.exe <imagefile>

//

# include <opencv\highgui.h> 

//#include "highgui.h"


int main(int argc , char** argv){

cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);

//CvCapture* capture = cvCreateFileCapture(argv[1]); //argv[1] 동영상 경로

CvCapture* capture = cvCreateFileCapture("C:/Users/hyunok/Desktop/videoplayback");

IplImage* frame;

char c;


while(1){  //여기서부터~

frame = cvQueryFrame(capture);

if( !frame) break;

cvShowImage("Example2",frame);


c = cvWaitKey(33);

if(c==27) break;

} // 여기까지! 동영상의 프레임을 받아온다!

cvReleaseCapture(&capture);

cvDestroyWindow("Example2");


return 0;

}







cvLoadImage() 함수는 불러올 영상을 위해 새로 메모리 공간을 할당하지만

cvQueryFrame()함수는 cvCpture 구조체 내부에 할당되어 있는 메모리 공간을 사용한다.

cvQueryFrame()함수가 반환한 포인터 frame은 cvReleaseImage()함수를 호출하여 메모리를 해제하면 안 된다.

반응형