본문 바로가기
개발 관련 지식/Ubuntu

[Ubuntu] 컴퓨터에 연결된 카메라 정보 확인

by rahites 2024. 7. 17.

Python으로 OpenCV를 사용하다보면 내 컴퓨터에 연결된 카메라의 정보를 확인해야 하는 경우가 생긴다.

 

OpenCV를 사용할 때 연결된 카메라의 포맷과 코드 상의 포맷이 동일하지 않으면 IO가 많이 느려지는 것이 그 이유인데, 그럴 때마다 보통 우리는 cv2.VideoWriter_fourcc 명령어를 사용해 포맷을 맞춰 주곤 한다.

 

그래서 이번에는 어떤 포맷으로 맞춰주어야 내가 사용하는 카메라를 잘 사용할 수 있는지, 그 포맷을 확인하는 방법을 기록하려 한다.


핵심 코드만 빠르게 작성하면 다음과 같다.

v4l2-ctl --list-formats-ext -d 0
  • v4l2-ctl : video for linux(카메라의 설정 및 제어를 도와주는 프로그램)를 사용하는 명령어
  • --list-formats-ext : 지원되는 비디오 포맷을 확장된 형식으로 나열하라(상세 정보 포함)
  • -d 0 : 첫번째 비디오 장치에 대해서(여러개가 연결되어 있을 경우 확인하고자 하는 카메라의 장치 번호 입력)

그럼 다음과 같은 결과를 얻을 수 있다.

내가 사용하고 있는 카메라의 경우 YUYV와 MJPG 포맷을 지원하는 것을 확인할 수 있으며, 해당 포맷에서 각각의 해상도에 따라 FPS가 몇까지 나오는지 위 코드를 통해 확인할 수 있다.

 

일반적으로 MJPG가 압축 버전이기 때문에 HD, FHD 등 고해상도로 갈 수록 YUYV 포맷보다 더 빠른 FPS 속도를 지원한다(나의 경우 HD기준 YUYV는 7.5FPS, MJPG는 30FPS).

 

이는 카메라를 구입할 때 내가 필요한 해상도에서 몇 FPS가 나오는지도 미리 파악할 수 있는 부분이기에 알아두면 좋은 정보일 것 같다 😀

댓글