오늘은 http://opencvexamples.blogspot.com/p/learning-opencv-functions-step-by-step.html에 있는 두번째 예제를 공부해보겠습니다!
2. Capture video from camera
카메라를 작동시켜 촬영된 비디오를 캡쳐하는 방법입니다. 우선 코드부터 보시죠. 위 링크에서 소개하고 있는 예제에 좀 더 덧붙여 캡쳐한 비디오를 그레이영상으로 전환한 것도 함께 출력하도록 코드를 변경했습니다.
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int, char**)
{
VideoCapture cap(0); // open the default camera
if (!cap.isOpened()) // check if we succeeded
return -1;
namedWindow("Video", 1);
namedWindow("Video1", 1);
while (1) // 무한루프
{
Mat frame, gray_frame;
cap >> frame; // 카메라로부터 새 프레임을 얻는다.
cvtColor(frame, gray_frame, COLOR_BGR2GRAY); // 얻은 프레임을 그레이이미지로 변환한다.
imshow("Video1", frame); // 컬러영상 전시
imshow("Video", gray_frame); // 그레이 영상 전시
if (waitKey(30) == 'c') break; // c를 타이핑해줘야 무한루프 탈출!
}
return 0;
}
소스코드에서 VideoCapture cap(0);에 있는 VideoCapture는 동영상 캡쳐를 위한 클래스라고 하네요. 이 코드를 실행해보면, default camera로 설정되어 있는 웹캠에서 찍히고 있는 장면이 전시됩니다. 아래는 영상으로 출력되고 있는 장면을 스샷찍은 장면입니다.
'Dev > C, C++' 카테고리의 다른 글
opencv에서 픽셀값 접근하기 (2) | 2017.07.05 |
---|---|
[Learn opencv by examples] 8 (1). Sobel 엣지 검출 (6) | 2017.06.15 |
[Learn opencv by examples] 7. 2D 컨볼루션 / 새로운 필터 만들기 (0) | 2017.06.14 |
[Learn opencv by examples] 6. Gaussian 필터, Bilateral 필터, Median 필터 (2) | 2017.06.03 |
[Learn opencv by examples] 5. 영상 이진화, Threshold operation (0) | 2017.06.02 |
[Learn opencv by examples] 4. RGB 이미지를 그레이 영상 또는 다른 컬러 공간으로 전환하기 (0) | 2017.06.02 |
[Learn opencv by examples] 3. 기본적인 드로잉 예제들 (0) | 2017.05.16 |
[Learn opencv by examples] 1. 이미지 불러오고, 전시하고, 저장하기 (3) | 2017.05.12 |