Hi @jakaskerl ,
The code for getting still frames is pretty simple and i don't think we upscale the frame anywere:
self.pipeline = dai.Pipeline()
self.color = self.pipeline.create(dai.node.Camera)
self.monoLeft = self.pipeline.create(dai.node.MonoCamera)
self.monoRight = self.pipeline.create(dai.node.MonoCamera)
self.xoutColor = self.pipeline.create(dai.node.XLinkOut)
self.xoutLeft = self.pipeline.create(dai.node.XLinkOut)
self.xoutRight = self.pipeline.create(dai.node.XLinkOut)
self.xoutColor.setStreamName("color")
self.xoutLeft.setStreamName("left")
self.xoutRight.setStreamName("right")
colorCameraSocket = dai.CameraBoardSocket.CAM_A
leftCameraSocket = dai.CameraBoardSocket.CAM_B
rightCameraSocket = dai.CameraBoardSocket.CAM_C
self.color.setPreviewSize(1600, 1200)
self.color.setVideoSize(3840, 2160)
self.color.setSize(4056, 3040)
self.color.setBoardSocket(colorCameraSocket)
self.color.setFps(30)
self.color.setMeshSource(dai.CameraProperties.WarpMeshSource.CALIBRATION)
self.monoLeft.setBoardSocket(leftCameraSocket)
self.monoLeft.setResolution(dai.MonoCameraProperties.SensorResolution.THE_800_P)
self.monoLeft.setCamera("left")
self.monoLeft.setFps(30)
self.monoRight.setBoardSocket(rightCameraSocket)
self.monoRight.setResolution(dai.MonoCameraProperties.SensorResolution.THE_800_P)
self.monoRight.setCamera("right")
self.monoRight.setFps(30)
self.color.still.link(self.xoutColor.input)
self.monoLeft.out.link(self.xoutLeft.input)
self.monoRight.out.link(self.xoutRight.input)
self.xin = self.pipeline.create(dai.node.XLinkIn)
self.xin.setStreamName("control")
self.xin.out.link(self.color.inputControl)
self.device.startPipeline(self.pipeline)
...
self.colorQueue = self.device.getOutputQueue(name="color", maxSize=1, blocking=True)
self.leftQueue = self.device.getOutputQueue(name="left", maxSize=1, blocking=False)
self.rightQueue = self.device.getOutputQueue(name="right", maxSize=1, blocking=False)
self.qControl = self.device.getInputQueue(name="control", maxSize=1, blocking=True)
# Getting the frame (already in 4032x3040)
colorFrame = self.colorQueue.tryGet()
Also how do i use mapXL, mapYL and mapXR, mapYR? I can not find a function that overrides the left/right x/y maps. I only found:
def setStereoLeft(self, cameraId: CameraBoardSocket, rectifiedRotation: List[List[float]]) -> None: ...
def setStereoRight(self, cameraId: CameraBoardSocket, rectifiedRotation: List[List[float]]) -> None: ...