ImageManipConfig

This message can is used for cropping, warping, rotating, resizing, etc. an image in runtime. It is sent either from the host to ColorCamera or ImageManip.

Examples of functionality

Reference

class depthai.ImageManipConfig

ImageManipConfig message. Specifies image manipulation options like:

  • Crop

  • Resize

  • Warp

getCropXMax(self: depthai.ImageManipConfig)float
Returns

Bottom right X coordinate of crop region

getCropXMin(self: depthai.ImageManipConfig)float
Returns

Top left X coordinate of crop region

getCropYMax(self: depthai.ImageManipConfig)float
Returns

Bottom right Y coordinate of crop region

getCropYMin(self: depthai.ImageManipConfig)float
Returns

Top left Y coordinate of crop region

getData(self: object) → numpy.ndarray[numpy.uint8]
Returns

Reference to internal buffer

getRaw(self: depthai.ADatatype)depthai.RawBuffer
getResizeHeight(self: depthai.ImageManipConfig)int
Returns

Output image height

getResizeWidth(self: depthai.ImageManipConfig)int
Returns

Output image width

isResizeThumbnail(self: depthai.ImageManipConfig)bool
Returns

True if resize thumbnail mode is set, false otherwise

setCenterCrop(self: depthai.ImageManipConfig, ratio: float, whRatio: float = 1.0)None

Specifies a centered crop.

Parameter ratio:

Ratio between input image and crop region (0..1)

Parameter whRatio:

Crop region aspect ratio - 1 equals to square, 1.7 equals to 16:9, …

ImageManipConfig.setCropRect(self: depthai.ImageManipConfig, xmin: float, ymin: float, xmax: float, xmax: float) -> None

Specifies crop with rectangle with normalized values (0..1)

Parameter xmin:

Top left X coordinate of rectangle

Parameter ymin:

Top left Y coordinate of rectangle

Parameter xmax:

Bottom right X coordinate of rectangle

Parameter ymax:

Bottom right Y coordinate of rectangle

setCropRotatedRect(self: depthai.ImageManipConfig, rr: depthai.RotatedRect, normalizedCoords: bool = True)None

Specifies crop with rotated rectangle. Optionally as non normalized coordinates

Parameter rr:

Rotated rectangle which specifies crop

Parameter normalizedCoords:

If true coordinates are in normalized range (0..1) otherwise absolute

setData(*args, **kwargs)

Overloaded function.

  1. setData(self: depthai.Buffer, arg0: List[int]) -> None

Parameter data:

Copies data to internal buffer

  1. setData(self: depthai.Buffer, arg0: numpy.ndarray[numpy.uint8]) -> None

Parameter data:

Copies data to internal buffer

setFrameType(self: depthai.ImageManipConfig, name: depthai.RawImgFrame.Type)None

Specify output frame type.

Parameter name:

Frame type

setHorizontalFlip(self: depthai.ImageManipConfig, flip: bool)None

Specify horizontal flip

Parameter flip:

True to enable flip, false otherwise

setKeepAspectRatio(self: depthai.ImageManipConfig, keep: bool)None

Specifies to whether to keep aspect ratio or not

setResize(self: depthai.ImageManipConfig, w: int, h: int)None

Specifies output image size. After crop stage the image will be streched to fit.

Parameter w:

Width in pixels

Parameter h:

Height in pixels

setResizeThumbnail(self: depthai.ImageManipConfig, w: int, h: int, bgRed: int = 0, bgGreen: int = 0, bgBlue: int = 0)None

Specifies output image size. After crop stage the image will be resized by preserving aspect ration. Optionally background can be specified.

Parameter w:

Width in pixels

Parameter h:

Height in pixels

Parameter bgRed:

Red component

Parameter bgGreen:

Green component

Parameter bgBlue:

Blue component

setReusePreviousImage(self: depthai.ImageManipConfig, reuse: bool)None

Instruct ImageManip to not remove current image from its queue and use the same for next message.

Parameter reuse:

True to enable reuse, false otherwise

setRotationDegrees(self: depthai.ImageManipConfig, deg: float)None

Specifies clockwise rotation in degrees

Parameter deg:

Rotation in degrees

setRotationRadians(self: depthai.ImageManipConfig, rad: float)None

Specifies clockwise rotation in radians

Parameter rad:

Rotation in radians

setSkipCurrentImage(self: depthai.ImageManipConfig, skip: bool)None

Instructs ImageManip to skip current image and wait for next in queue.

Parameter skip:

True to skip current image, false otherwise

setWarpBorderFillColor(self: depthai.ImageManipConfig, red: int, green: int, blue: int)None

Specifies fill color for border pixels. Example:

  • setWarpBorderFillColor(255,255,255) -> white

  • setWarpBorderFillColor(0,0,255) -> blue

Parameter red:

Red component

Parameter green:

Green component

Parameter blue:

Blue component

setWarpBorderReplicatePixels(self: depthai.ImageManipConfig)None

Specifies that warp replicates border pixels

setWarpTransformFourPoints(self: depthai.ImageManipConfig, pt: List[depthai.Point2f], normalizedCoords: bool)None

Specifies warp by suppling 4 points in either absolute or normalized coordinates

Parameter pt:

4 points specifying warp

Parameter normalizedCoords:

If true pt is interpreted as normalized, absolute otherwise

setWarpTransformMatrix3x3(self: depthai.ImageManipConfig, mat: List[float])None

Specifies warp with a 3x3 matrix

Parameter mat:

3x3 matrix

class dai::ImageManipConfig : public dai::Buffer

ImageManipConfig message. Specifies image manipulation options like:

  • Crop

  • Resize

  • Warp

Public Functions

ImageManipConfig()

Construct ImageManipConfig message.

ImageManipConfig(std::shared_ptr<RawImageManipConfig> ptr)
~ImageManipConfig() = default
void setCropRect(float xmin, float ymin, float xmax, float ymax)

Specifies crop with rectangle with normalized values (0..1)

Parameters
  • xmin: Top left X coordinate of rectangle

  • ymin: Top left Y coordinate of rectangle

  • xmax: Bottom right X coordinate of rectangle

  • ymax: Bottom right Y coordinate of rectangle

void setCropRotatedRect(RotatedRect rr, bool normalizedCoords = true)

Specifies crop with rotated rectangle. Optionally as non normalized coordinates

Parameters
  • rr: Rotated rectangle which specifies crop

  • normalizedCoords: If true coordinates are in normalized range (0..1) otherwise absolute

void setCenterCrop(float ratio, float whRatio = 1.0f)

Specifies a centered crop.

Parameters
  • ratio: Ratio between input image and crop region (0..1)

  • whRatio: Crop region aspect ratio - 1 equals to square, 1.7 equals to 16:9, …

void setWarpTransformFourPoints(std::vector<Point2f> pt, bool normalizedCoords)

Specifies warp by suppling 4 points in either absolute or normalized coordinates

Parameters
  • pt: 4 points specifying warp

  • normalizedCoords: If true pt is interpreted as normalized, absolute otherwise

void setWarpTransformMatrix3x3(std::vector<float> mat)

Specifies warp with a 3x3 matrix

Parameters
  • mat: 3x3 matrix

void setWarpBorderReplicatePixels()

Specifies that warp replicates border pixels

void setWarpBorderFillColor(int red, int green, int blue)

Specifies fill color for border pixels. Example:

  • setWarpBorderFillColor(255,255,255) -> white

  • setWarpBorderFillColor(0,0,255) -> blue

Parameters
  • red: Red component

  • green: Green component

  • blue: Blue component

void setRotationDegrees(float deg)

Specifies clockwise rotation in degrees

Parameters
  • deg: Rotation in degrees

void setRotationRadians(float rad)

Specifies clockwise rotation in radians

Parameters
  • rad: Rotation in radians

void setResize(int w, int h)

Specifies output image size. After crop stage the image will be streched to fit.

Parameters
  • w: Width in pixels

  • h: Height in pixels

void setResizeThumbnail(int w, int h, int bgRed = 0, int bgGreen = 0, int bgBlue = 0)

Specifies output image size. After crop stage the image will be resized by preserving aspect ration. Optionally background can be specified.

Parameters
  • w: Width in pixels

  • h: Height in pixels

  • bgRed: Red component

  • bgGreen: Green component

  • bgBlue: Blue component

void setFrameType(ImgFrame::Type name)

Specify output frame type.

Parameters
  • name: Frame type

void setHorizontalFlip(bool flip)

Specify horizontal flip

Parameters
  • flip: True to enable flip, false otherwise

void setReusePreviousImage(bool reuse)

Instruct ImageManip to not remove current image from its queue and use the same for next message.

Parameters
  • reuse: True to enable reuse, false otherwise

void setSkipCurrentImage(bool skip)

Instructs ImageManip to skip current image and wait for next in queue.

Parameters
  • skip: True to skip current image, false otherwise

void setKeepAspectRatio(bool keep)

Specifies to whether to keep aspect ratio or not

float getCropXMin() const

Return

Top left X coordinate of crop region

float getCropYMin() const

Return

Top left Y coordinate of crop region

float getCropXMax() const

Return

Bottom right X coordinate of crop region

float getCropYMax() const

Return

Bottom right Y coordinate of crop region

int getResizeWidth() const

Return

Output image width

int getResizeHeight() const

Return

Output image height

bool isResizeThumbnail() const

Return

True if resize thumbnail mode is set, false otherwise

Private Functions

std::shared_ptr<RawBuffer> serialize() const override

Private Members

RawImageManipConfig &cfg

Got questions?

We’re always happy to help with code or other questions you might have.