# 환경
- Ubuntu 22.04
- Opencv 4.5.4
# USB 카메라 노출시간과 해상도 변경
- 현재 사용 중인 USB 카메라의 fps가 낮아 속도를 증가시키고자 노출시간과 해상도를 변경해봄.
1) 노출시간 변경
- 일반적으로 노출 시간 측정은 OpenCV를 기반으로 아래와 같이 확인함.
- 카메라 목록 확인
$ v4l2-ctl -d /dev/video0 --list-ctrls
- 노출 값 수동 설정 모드
$ v4l2-ctl -d /dev/video0 --set-ctrl=exposure_auto=1
(또는 $ v4l2-ctl -d /dev/video0 --set-ctrl=auto_exposure=1 카메라 목록 참고)
- 노출 값 수정 명령어도 있으나 OpenCV를 통해 수정함.
$ v4l2-ctl -d /dev/video0 --set-ctrl=exposure_absolute=50
- 노출 값 자동 설정모드 변경(원래대로)
$ v4l2-ctl -d /dev/video0 --set-ctrl=exposure_auto=3
2) 해상도 변경
- USB 카메라가 지원하는 해상도 목록 확인
$ v4l2-ctl -d /dev/video0 --list-formats-ext
기본 우선 순위는 보통 MJPG, YUYV 순임.
(MJPG는 압축/해제 방식으로 약간의 화질 저하, YUYV 방식은 대역폭이 크고 화질은 보존하며 프레임이 떨어짐)
- 현재 카메라 포맷 확인
$ v4l2-ctl -d /dev/video0 --get-fmt-video
- 포맷 변경
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=MJPG
여기서 해상도를 변경하면 카메라에서 받는 해상도도 변경됨.
결론, 노출 시간을 변경하면 프레임 속도는 올라가지만 말 그대로 노출 시간이 적어지기 때문에 카메라 이미지가 어두워짐.
사용한 USB 카메라의 해상도는 defaults 값이 640x480으로 설정되어 있었기 때문에 해상도를 더 낮추게되면 fps는 증가 되지만 해상도가 사용하고자 하는 것보다 낮아서 사용 불가함. 이후 다른 곳에 사용하기위해 정리.
'프로그래밍 > 작은 메모' 카테고리의 다른 글
| MCU 단계에서 딥러닝을 수행하려면? (1) | 2025.07.24 |
|---|---|
| OpenCV 픽셀 색상 변경( 어두운 색은 검정색으로, 밝은 색은 흰색으로) (4) | 2025.07.01 |
| 프레임 측정과 현재 시간을 포함한 파일 명으로 OpenCV 이미지 저장 (0) | 2025.05.28 |
| Qt QImage to Opencv Mat(Qt 이미지 ↔ OpenCV 이미지) (0) | 2025.05.20 |
| Ubuntu 22.04 fatal error: pcl/visualization/pcl_visualizer.h: No such file or directory (0) | 2025.04.29 |