영상을 실시간으로 캡처하여 재생하는 소스 코드는 다음과 같다.
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
static string win_name = "Win1";
int main()
{
Mat img_color;
VideoCapture cap(0);
if (!cap.isOpened()) {
cerr << "ERROR::Cannot open camera\n";
return -1;
}
while(1)
{
cap.read(img_color);
if (img_color.empty()) {
cerr << "ERROR::Empty image was captured\n";
break;
}
/* 여기에 소스 코드 작성 */
imshow(win_name, img_color);
if (waitKey(30) == 27)
break;
}
return 0;
}
중간 주석 부분에 원하는 소스코드를 작성해주면 된다.
waitKey(30)은 30ms 동안 키 입력을 기다리는 것을 의미하고,
리턴 값이 27임은 ESC 키가 눌렸음을 의미한다.
ESC 키를 누르면 루프가 break되어 프로그램이 종료되게 된다.
댓글