Skip to main content

ImageEncode

Encode the image metadata as a JPEG image.

This module provides an pipeline element to encode the image metadata as a JPEG image. There is an optional argument to specify if you want to skip to the encoding if parts of the metadata are missing.

Examples:

REST API:

WIP

Configuration File:

short-from : image-encoder, image-encoder:<s/l-item(s)>

Encode all frames:

source:
- address: https://youtu.be/jY86pXeTOLw
- type: youtube
pipeline:
- image-encoder

Only encode if person objects are present:

source:
- address: https://youtu.be/jY86pXeTOLw
- type: youtube
pipeline:
- person-detection-nano:a:0.3:0.3
- image-encoder:person

Only encode if person and bus objects are present:

source:
- address: https://youtu.be/jY86pXeTOLw
- type: youtube
pipeline:
- coco-nano:a:0.3:0.3
- image-encoder:[person,bus]

ImageEncode Objects

class ImageEncode(Element)

Encode a frame as a JPEG image.

This element encodes a frame to a JPEG image if the frame has metadata is it does not want to skip.

Attributes:

  • name str - The name of the element.
  • item Union[str, List[str]] - The item(s) to skip encode.

Examples:

All:

ele = ImageEncode()

person:

ele = ImageEncode("person")

person and bus:

ele = ImageEncode(["person","bus"])

extract_params

@staticmethod
def extract_params(model_params)

Extract the parameters for this element.

Arguments:

  • model_params List[str] - The parameters for this element.

Returns:

  • item Union[str, List[str]] - The item(s) to skip encode.

Raises:

  • ExtractParameterException - If the parameters are not valid.

Examples:

params = ImageEncode.extract_params(["image-encoder", "[person, bus]"])
ele = ImageEncode(params)

process

@parallel
def process(meta)

Process the metadata by converting the frame to a JPEG image.

This is the main function for this element. It will process the metadata by first comparing the fields of the metadata to the item(s) to skip encode. If an item is found than the frame will not be encoded.

Arguments:

  • meta dict - The metadata to process.

Returns:

  • meta dict - The processed metadata.

Examples:

ele = ImageEncode()
meta = ele.process(meta)