DepthAI v2 has been superseded by DepthAI v3. You are viewing legacy documentation.

本页目录

  • 如何放置
  • 输入和输出
  • 用法
  • 3A 算法
  • 功能示例
  • 参考

单目相机

MonoCamera 节点是 ImgFrame 的数据源。你可以通过 inputControl 在运行时对其进行控制。部分 DepthAI 模块没有单目相机。两个单目相机用于计算立体深度(配合 StereoDepth 节点)。

如何放置

Python

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

C++

C++
1dai::Pipeline pipeline;
2auto mono = pipeline.create<dai::node::MonoCamera>();

输入和输出

用法

Python

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

C++

C++
1dai::Pipeline pipeline;
2auto mono = pipeline.create<dai::node::MonoCamera>();
3mono->setCamera("right");
4mono->setResolution(dai::MonoCameraProperties::SensorResolution::THE_720_P);

3A 算法

3A(自动曝光 AE、自动白平衡 AWB 和自动对焦 AF)算法用于优化图像质量,并直接在 RVC 上运行。默认情况下,这些设置处于自动模式,每个传感器都有特定的限制(例如最小/最大曝光),详见支持的传感器您可以通过以下方式手动控制这些设置:按照 RGB 相机控制示例 中的步骤操作,或使用 cam_test.py 脚本
  • 立体相机:传感器共享同一条 I2C 总线,可自动同步 3A 设置(AWB、AE)。
  • 独立传感器:在 OAK FFC 或 OAK-D-LR 等配置中,每个传感器拥有独立的 I2C,可使用 3a-follow 功能将 3A 设置从一个传感器同步到其他传感器。
示例用法
Python
1cam['cam_b'].initialControl.setMisc("3a-follow", dai.CameraBoardSocket.CAM_A)
2cam['cam_c'].initialControl.setMisc("3a-follow", dai.CameraBoardSocket.CAM_A)
3a-follow 功能将主摄像头(例如 CAM_A)的 3A 设置(曝光、ISO 和白平衡)复制到配置中的其他摄像头(例如 CAM_B 和 CAM_C)。

功能示例

参考

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: typing.SupportsFloat)
Set rate at which camera should produce frames  Parameter ``fps``:     Rate in frames per second
method
method
method
setIsp3aFps(self, isp3aFps: typing.SupportsInt)
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: typing.SupportsInt)
Set number of frames in main (ISP output) pool
method
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.  It's sent on the MIPI SoF (start-of-frame) event, just after the exposure of the current frame has finished and before the exposure for next frame starts. Could be used to synchronize various processes with camera capture. Fields populated: camera id, sequence number, timestamp
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.  Suitable for use StereoDepth node. Processed by ISP
property
raw
Outputs ImgFrame message that carries RAW10-packed (MIPI CSI-2 format) frame data.  Captured directly from the camera sensor

需要帮助?

请前往 OAKChina 官网 获取技术支持或解答您的任何疑问。