ON THIS PAGE

  • Mono Camera
  • How to place it
  • Inputs and Outputs
  • Usage
  • Examples of functionality
  • Reference

Mono Camera

MonoCamera node is a source of ImgFrame. You can control in at runtime with the inputControl. Some DepthAI modules don't have mono camera(s). Two mono cameras are used to calculate stereo depth (with StereoDepth node).

How to place it

Python
C++
Python
1pipeline = dai.Pipeline()
2mono = pipeline.create(dai.node.MonoCamera)

Inputs and Outputs

Command Line
1/
2                 ┌─────────────────┐
3                 │                 │         out
4  inputControl   │                 ├───────────►
5  ──────────────►│    MonoCamera   |         raw
6                 │                 ├───────────►
7                 │                 │
8                 └─────────────────┘
Message types

Usage

Python
C++
Python
1pipeline = dai.Pipeline()
2mono = pipeline.create(dai.node.MonoCamera)
3mono.setCamera("right")
4mono.setResolution(dai.MonoCameraProperties.SensorResolution.THE_720_P)

Examples of functionality

Reference

class

depthai.node.MonoCamera(depthai.Node)

method
getBoardSocket(self) -> depthai.CameraBoardSocket: depthai.CameraBoardSocket
Retrieves which board socket to use

Returns:
    Board socket to use
method
method
getCamera(self) -> str: str
Retrieves which camera to use by name

Returns:
    Name of the camera to use
method
getFps(self) -> float: float
Get rate at which camera should produce frames

Returns:
    Rate in frames per second
method
method
method
getNumFramesPool(self) -> int: int
Get number of frames in main (ISP output) pool
method
getRawNumFramesPool(self) -> int: int
Get number of frames in raw pool
method
method
getResolutionHeight(self) -> int: int
Get sensor resolution height
method
method
getResolutionWidth(self) -> int: int
Get sensor resolution width
method
setBoardSocket(self, boardSocket: depthai.CameraBoardSocket)
Specify which board socket to use

Parameter ``boardSocket``:
    Board socket to use
method
method
setCamera(self, name: str)
Specify which camera to use by name

Parameter ``name``:
    Name of the camera to use
method
setFps(self, fps: float)
Set rate at which camera should produce frames

Parameter ``fps``:
    Rate in frames per second
method
method
method
setIsp3aFps(self, isp3aFps: int)
Isp 3A rate (auto focus, auto exposure, auto white balance, camera controls
etc.). Default (0) matches the camera FPS, meaning that 3A is running on each
frame. Reducing the rate of 3A reduces the CPU usage on CSS, but also increases
the convergence rate of 3A. Note that camera controls will be processed at this
rate. E.g. if camera is running at 30 fps, and camera control is sent at every
frame, but 3A fps is set to 15, the camera control messages will be processed at
15 fps rate, which will lead to queueing.
method
setNumFramesPool(self, arg0: int)
Set number of frames in main (ISP output) pool
method
setRawNumFramesPool(self, arg0: int)
Set number of frames in raw pool
method
setRawOutputPacked(self, packed: bool)
Configures whether the camera `raw` frames are saved as MIPI-packed to memory.
The packed format is more efficient, consuming less memory on device, and less
data to send to host: RAW10: 4 pixels saved on 5 bytes, RAW12: 2 pixels saved on
3 bytes. When packing is disabled (`false`), data is saved lsb-aligned, e.g. a
RAW10 pixel will be stored as uint16, on bits 9..0: 0b0000'00pp'pppp'pppp.
Default is auto: enabled for standard color/monochrome cameras where ISP can
work with both packed/unpacked, but disabled for other cameras like ToF.
method
property
frameEvent
Outputs metadata-only ImgFrame message as an early indicator of an incoming frame.
property
initialControl
Initial control options to apply to sensor
property
inputControl
Input for CameraControl message, which can modify camera parameters in runtime Default queue is blocking with size 8
property
out
Outputs ImgFrame message that carries RAW8 encoded (grayscale) frame data.
property
raw
Outputs ImgFrame message that carries RAW10-packed (MIPI CSI-2 format) frame data.

Need assistance?

Head over to Discussion Forum for technical support or any other questions you might have.