OpenCV를 사용하여 비디오 캡처 및 저장
컴퓨터 비전은 컴퓨터 시스템이 디지털 이미지, 비디오 및 기타 시각적 소스에서 세부 정보를 이해하고 추출할 수 있도록 하는 컴퓨터 과학, 특히 인공 지능의 영역입니다.
컴퓨터 비전을 사용하여 객체 감지, 이미지 분류, 분할, 모서리 감지, 얼굴 인식, 패턴 감지, 특징 매칭과 같은 다양하고 복잡한 작업을 수행할 수 있습니다.
요즘에는 Python을 비롯한 다양한 프로그래밍 언어가 컴퓨터 비전을 지원합니다. Python은 다목적 동적 유형 범용 프로그래밍 언어입니다.
컴퓨터 비전을 수행하는 데 도움이 되는 OpenCV 또는 Open Computer Vision 라이브러리가 있습니다.
OpenCV는 Intel에서 개발한 실시간 컴퓨터 비전 라이브러리입니다. C 및 C++ 프로그래밍 언어로 작성된 크로스 플랫폼 라이브러리입니다.
이 라이브러리를 사용하면 비디오 캡처, 비디오 프레임 처리, 색상 조작, 이미지 및 비디오 변환과 같은 다양한 작업을 수행할 수 있습니다.
이번 글에서는 OpenCV를 이용하여 웹카메라 영상을 녹화하고 저장하는 방법에 대해 알아보겠습니다.
OpenCV를 사용하여 카메라 비디오 저장
다음 Python 코드를 참조하십시오.
import cv2
capture = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter("output.avi", fourcc, 20.0, (640, 480))
while capture.isOpened():
ret, frame = capture.read()
if ret == True:
out.write(frame)
cv2.imshow("frame", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
capture.release()
out.release()
cv2.destroyAllWindows()
위의 Python 코드는 시스템의 웹 카메라가 보는 모든 것을 녹화하고 사용자가 키보드의 Q 키를 누르면 녹화를 중지하고 카메라 창을 닫고 비디오 파일을 이름으로 저장합니다. 작업 디렉토리에 있는 output.avi
.
먼저 cv2.VideoCapture()
메서드를 사용하여 시스템 카메라의 비디오 캡처 개체를 가져옵니다. 다음으로 cv2.VideoWriter_fourcc()
메서드를 사용하여 비디오 코덱을 지정합니다.
다음으로 카메라 창 크기와 출력 속성을 선언합니다.
다음으로 카메라가 보는 모든 것을 캡처하고 Q 키를 누를 때까지 저장하는 for
루프를 선언하고 루프가 종료됩니다. 마지막으로 동영상이 저장되고 카메라 창이 파괴되며 웹 카메라가 해제됩니다.