개요
stellarHD는 표준 UVC (USB Video Class) 인터페이스를 통해 두 가지 비디오 형식을 제공합니다:- MJPEG — JPEG 압축 프레임. 높은 프레임 속도(최대 60 FPS) 및 실시간 보기에 적합합니다.
- YUYV — 비압축 4:2:2 원시 비디오. 원본의 미가공 픽셀 데이터가 필요할 때 적합합니다(머신 비전, 사진측량, 과학 영상).
Y) 채널만 실제 이미지 데이터를 포함하는 흑백 stellarHD 모델에 특정한 세부 정보도 다룹니다.
YUYV는 비압축이므로 MJPEG보다 훨씬 많은 USB 대역폭을 소비합니다. 결과적으로 원시 모드는 더 높은 해상도에서 더 낮은 프레임 속도로 제한됩니다. 지원되는 해상도/프레임 속도 조합은 stellarHD 기술 사양을 참조하세요.
요구 사항
이 명령은v4l-utils, GStreamer 및 FFmpeg이 설치된 Linux 컴퓨터를 필요로 합니다:
YUYV vs MJPEG 이해하기
GStreamer caps에서 V4L2 형식
YUYV는 YUY2로 표기됩니다.
단계 1 — 장치 노드 식별
stellarHD를 연결하면 커널이 여러 V4L2 장치 노드를 생성합니다. YUYV와 MJPEG 모두 그룹의 첫 번째 노드에 노출됩니다./dev/video4가 사용할 노드입니다. 아래 명령에서 자신의 노드로 대체하세요.
단계 2 — 단일 RAW 프레임 캡처
v4l2-ctl을 사용하여 전체 해상도에서 비압축 YUYV 프레임 한 장을 캡처합니다:
frame_1600x1200.yuyv에 기록합니다.
프레임 크기 확인
완전한 원시 프레임은 정확히width × height × 2 바이트여야 합니다:
단계 3 — RAW 프레임을 PNG로 변환
원시 YUYV 바이트는 직접 볼 수 없습니다. FFmpeg을 사용하여 프레임을 PNG로 변환하여 검사할 수 있습니다:흑백 stellarHD 모델
UVC의 특이점으로 인해 흑백 stellarHD는 센서에 색상 정보가 없음에도 출력을YUYV 4:2:2로 보고합니다.
Y(휘도) 채널만 실제 이미지를 포함합니다.U및V(크로마) 채널은 더미/고정 값이며 무시해도 됩니다.
카메라가 실제로 흑백인지 확인
ffplay로 원시 파일을 직접 재생하세요. 이미지가 자연스럽게 그레이스케일로 나타나면 크로마 채널이 일정한 것입니다:
GStreamer 파이프라인
실시간 원시 스트림 보기
원시 프레임 하나를 디스크에 저장
MJPEG를 사용한 빠른 미리보기
YUYV는 고해상도에서 낮은 프레임 속도로 제한되므로, 부드러운 실시간 미리보기만 필요한 경우 MJPEG를 사용하세요:OpenCV / Python에서 휘도 추출
다운스트림에서 원시 프레임을 처리하고 센서가 흑백인 경우, 프레임을 컬러로 처리하지 말고 휘도 채널을 추출하세요.OpenCV 가이드
stellarHD를 OpenCV와 함께 사용하는 전체 가이드를 참조하세요.
문제 해결
출력 파일 크기가 잘못됨
완전한 원시 프레임은 정확히width × height × 2 바이트입니다. 더 작은 파일은 일반적으로 캡처가 중단되었거나 요청한 해상도가 YUYV 모드에서 지원되지 않음을 의미합니다 — v4l2-ctl -d /dev/video4 --list-formats-ext를 확인하세요.
변환된 이미지가 왜곡되거나 깨짐
FFmpeg에 전달된-pixel_format 및 -video_size는 캡처와 정확히 일치해야 합니다. 원시 비디오에는 헤더가 없으므로 불일치하면 레이아웃이 손상됩니다.
흑백 카메라에서 이미지가 색조를 띠어 보임
흑백 센서에서는 크로마 채널이 실제 데이터를 전달하지 않습니다. 위에 표시된 대로-vf format=gray (FFmpeg)로 다시 변환하거나 Y 채널을 추출(OpenCV)하세요.
