Skip to content

Instantly share code, notes, and snippets.

@Erol444
Last active August 3, 2021 19:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Erol444/4659af8c53db5462673e3fb340622f9c to your computer and use it in GitHub Desktop.
Save Erol444/4659af8c53db5462673e3fb340622f9c to your computer and use it in GitHub Desktop.
rgb_preview_rotation_error
import cv2
import depthai as dai
# Create pipeline
pipeline = dai.Pipeline()
# Color camera
rgbCam = pipeline.createColorCamera()
rgbCam.setPreviewSize(600,300) # Just a random size
rgbCam.setInterleaved(False)
manipRgb = pipeline.createImageManip()
rr_rgb = dai.RotatedRect()
rr_rgb.center.x, rr_rgb.center.y = rgbCam.getPreviewWidth() // 2, rgbCam.getPreviewHeight() // 2
rr_rgb.size.width, rr_rgb.size.height = rgbCam.getPreviewHeight(), rgbCam.getPreviewWidth()
rr_rgb.angle = 90
manipRgb.initialConfig.setCropRotatedRect(rr_rgb, False)
rgbCam.preview.link(manipRgb.inputImage)
rgbOut = pipeline.createXLinkOut()
rgbOut.setStreamName("manip_rgb")
manipRgb.out.link(rgbOut.input)
# Mono camera
monoLeft = pipeline.createMonoCamera()
monoLeft.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
monoLeft.setBoardSocket(dai.CameraBoardSocket.LEFT)
manipLeft = pipeline.createImageManip()
rr_mono = dai.RotatedRect()
rr_mono.center.x, rr_mono.center.y = monoLeft.getResolutionWidth() // 2, monoLeft.getResolutionHeight() // 2
rr_mono.size.width, rr_mono.size.height = monoLeft.getResolutionHeight(), monoLeft.getResolutionWidth()
rr_mono.angle = 90
manipLeft.initialConfig.setCropRotatedRect(rr_mono, False)
monoLeft.out.link(manipLeft.inputImage)
leftOut = pipeline.createXLinkOut()
leftOut.setStreamName("manip_left")
manipLeft.out.link(leftOut.input)
with dai.Device(pipeline) as device:
qLeft = device.getOutputQueue(name="manip_left", maxSize=8, blocking=False)
qRgb = device.getOutputQueue(name="manip_rgb", maxSize=8, blocking=False)
while True:
in_left = qLeft.tryGet()
if in_left is not None:
cv2.imshow('Left rotated', in_left.getCvFrame())
in_rgb = qRgb.tryGet()
if in_rgb is not None:
cv2.imshow('Rgb rotated', in_rgb.getCvFrame())
if cv2.waitKey(1) == ord('q'):
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment