35 lines
875 B
Python
35 lines
875 B
Python
|
|
import cv2
|
||
|
|
from oak_fcc3_manager import OakFcc3Manager
|
||
|
|
|
||
|
|
with OakFcc3Manager(
|
||
|
|
fps=30,
|
||
|
|
width=640,
|
||
|
|
height=400,
|
||
|
|
capture_mode="AUTO",
|
||
|
|
raw_policy="allow_single",
|
||
|
|
sync_mode="best",
|
||
|
|
sync_tolerance_ms=10.0,
|
||
|
|
buffer_size=12,
|
||
|
|
) as cam:
|
||
|
|
|
||
|
|
print(cam.get_status())
|
||
|
|
|
||
|
|
while True:
|
||
|
|
frame, meta, decoded = cam.get_next_decoded(timeout=1.0)
|
||
|
|
|
||
|
|
print(
|
||
|
|
"frame_id:", meta["frame_id"],
|
||
|
|
"sources:", meta["payload_sources"],
|
||
|
|
"sync_ms:", f"{meta['sync_dt_ms']:.2f}",
|
||
|
|
"sync_ok:", meta["sync_ok"]
|
||
|
|
)
|
||
|
|
|
||
|
|
for cam_id, img in frame.items():
|
||
|
|
info = meta["camera_info"].get(cam_id, {})
|
||
|
|
title = f"{cam_id} | {info.get('socket')} | {info.get('role')}"
|
||
|
|
cv2.imshow(title, img)
|
||
|
|
|
||
|
|
if cv2.waitKey(1) in (27, ord("q")):
|
||
|
|
break
|
||
|
|
|
||
|
|
cv2.destroyAllWindows()
|