embedded/opencv

2. opencv 실시간 촬영

crab. 2021. 9. 3. 18:53
반응형

전 과정에서는 이미 저장되어있는 이미지를 이용했다면

 

이번에는 직접 카메라를 실시간 영상 프레임을 받아와 출력하는 과정에 대해 다룬다.

mkdir -p ~/workspace/camera_test2/src
cd ~/workspace/camera_test2/src

우선 작업공간 내에 camera_test2로 폴더를 만들어주고, 전과 같이 src폴더를 만들어준다.

 

(이 과정을 진행하며 나 스스로 코드를 만들고 gedit으로 IDE 도움 없이 컴파일하는 게 참 신기하고 좋았다)

[편집기] camera_test2.cpp

camera_test2.cpp

// 이대로 진행하면 안되고 gstream과 관련된 설정들을 pipeline을 통해 videocapture()에 넣어야한다.
#include <opencv2/opencv.hpp>
#include <iostream>

int main(){
	
	cv::VideoCapture cap(-1);
	cv::Mat frame;
	cv::namedWindow("yaho", cv::WINDOW_AUTOSIZE);

	if (cap.isOpened()){
		while(1){
			cap >> frame;
			cv::imshow("yaho", frame);
			if(cv::waitKey(1) == 27) break;
		}
	}

	else{
		std::cout << "No Frame" << std::endl;	
	}
	
	cv::destroyAllWindows();
	return 0;
}

이번에도 코드분석은 우선 생략한다.

 

이제 cmake를 한다.

cd ..
[편집기] CMakeLists.txt

전과 비슷한 cmakelists텍스트 파일

cmake .
make

[cmake를 완료하고 camera_test2 디렉터리를 보면 위와 같이 src 디렉터리와 CMakeLists.txt 외에도 많은 파일들이 생긴다. 이는 사용하려고 하는 컴파일러나 라이브러리를 링크하거나 오브젝트 파일을 생성할 수 있는 파일들이 담겨 있다.]

./camera_test2

자알~나온다.

 

반응형