cv2.imdecode 호출로 이루어지며, 내보내기는 재인코딩이나 품질 손실 없이 바이트 단위 복사로 처리됩니다.
Discovery에서 DWVO 녹화하기
DWVO를 처음 사용하시나요?
.dwvo 파일 스트리밍 및 녹화는 여기서 시작하세요.사전 요구 사항
- Python (버전 3.x)
opencv-python,numpy,pillow.dwvo녹화 파일 — 아래 예제에서는test.dwvo를 사용합니다
설정
OpenCV Guides 저장소를 클론하고 이 가이드에 해당하는 폴더를 연 뒤, 가상 환경을 만들고 의존성을 설치하세요:재생
main.py는 모든 카메라를 디코딩하여 하나의 OpenCV 창에 나란히 표시합니다.
재생은 고정된 스케줄에 맞춰 진행됩니다: 디코딩이 한 프레임 이상 지연되면 해당 프레임은 늦게 표시되지 않고 폐기되므로, 영상은 실제 시간 속도를 유지합니다.
JPEG로 내보내기
DWVO는 이미 MJPEG를 저장하므로export.py는 각 프레임을 그대로 디스크에 복사합니다 — 디코딩 없음, 품질 손실 없음.
출력은 카메라별로 하나의 디렉터리에 KITTI 스타일로 번호가 매겨집니다:
무손실 PNG (KITTI 데이터셋)
dwvo_to_kitti.py는 동일한 레이아웃을 생성하지만 Pillow를 통해 디코딩하여 무손실 PNG를 출력할 수 있습니다. 하위 도구가 JPEG를 지원하지 않을 때 사용하고, 그렇지 않다면 export.py가 더 빠릅니다.
프로그래밍 방식으로 DWVO 읽기
dwvo.py에서 DWVOReader는 타임스탬프 블록을 반복하고, DWVOWriter는 블록을 작성하며, combine_dwvos()는 헤더를 공유하는 녹화 파일들을 연결합니다.
자주 묻는 질문
녹화한 영상보다 재생 속도가 느린 이유는 무엇인가요?
녹화한 영상보다 재생 속도가 느린 이유는 무엇인가요?
Discovery에서 일부 카메라는 FPS를 수동으로 설정해야 합니다. 영상이 60 FPS로 스트리밍되는 동안 30 FPS로 설정되어 있었다면,
.dwvo 파일은 메타데이터에 30 FPS를 기록하고 애플리케이션에게 30 FPS로 읽도록 알립니다. 재생 시 --fps로 이를 재정의하세요.추가 정보
더 자세한 내용, 다른 언어로 된 예제, 그리고 위 스크립트의 전체 소스는 OpenCV Guides 저장소에서 확인할 수 있습니다.OpenCV Guides 저장소
DWVO 리더, 재생, 내보내기 및 KITTI 변환 소스.