지금까지 이미지 출력과 동영상파일 출력을 알아보았는데, 이번 시간에는 웹캠으로부터 받은 영상을 띄우는 방법에 대해 알아보도록 하겠다. 동영상파일 출력까지 해보았다면 카메라(웹캠)영상은 쉽게 띄울수 있을것이다.


먼저 간단한 코드는 다음과 같다.

#include <opencv\highgui.h>

int main() {
	IplImage *frame;
	
	CvCapture* capture = cvCaptureFromCAM(0);

	cvNamedWindow("Test",1);
	
	while(capture) {
		frame = cvQueryFrame(capture);
		cvShowImage("Test",frame);

		if(cvWaitKey(33) >= 27)
			break;
	}
	cvReleaseCapture(&capture);
	cvDestroyWindow("Test");

	return 0;
}

전체적으로 동영상을 출력할 때와 비슷하다. 동영상 출력과 다른점은 cvCaptureFromCAM()부분이다. cvCaptureFromCAM()함수를 이용하여 웹캠으로부터 영상을 받아온다. 인자로는 숫자를 입력하는데, 0을 넣을경우 가장 기본으로 연결되어 있는 웹캠으로부터 영상을 받아온다. 노트북의 경우 내장된 웹캠이 0번이고 추가적으로 연결을 한 웹캠이 1번으로 되어있을 것이다. PC의 경우 내장된 웹캠이 없으므로 연결한 웹캠이 0번이 된다. 

영상처리를 위한 코드는 while문 안의 cvQueryFrame()뒤에 넣어주면 된다.


실행화면 :



[영상처리] 이미지 파일 출력


[영상처리] 동영상파일(AVI) 출력

+ Recent posts