//사용법: 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()함수를 호출하여 메모리를 해제하면 안 된다.
반응형
'공부해요 > OpenCV' 카테고리의 다른 글
[ openCV 제대로 배우기 ] ex2-6.exe - 캐니 엣지 검출기 (0) | 2014.07.28 |
---|---|
[ openCV 제대로 배우기 ] ex2-5.exe - cvPyrDown()함수를 사용하여 입력 영상의 가로,세로 크기 반으로 줄이기기 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-4.exe - 간단한 변환 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-3.exe - 간단한 사용자 인터페이스 추가 (0) | 2014.07.28 |
[ openCV 제대로 배우기 ] ex2-1.exe - 정지 영상 출력 (0) | 2014.07.28 |