Skip to content

MaskProcessor

Segmentation mask processor

Mask processor estimates accurate & stable human segmentation masks. Segmentation mask - monochrome image, where every pixel has value in range [0..1] denoting the probability of it being a foreground. Mask is provided for normalized rect region of the original image, it has a fixed size in pixels and should be scaled to image space. Optional temporal smoothing of a segmentation mask may be enabled. Estimated mask may be used for background substitution, effects like bokeh or focal blur, advanced occluder materials utilizing a mask, regional patchers, and other foreground/background shader effects.

Extends

Constructors

new MaskProcessor()

new MaskProcessor(): MaskProcessor

Constructor

Returns

MaskProcessor

Inherited from

Processor.constructor

Properties

cameraAngle

cameraAngle: number

Camera vertical angle in radians

Inherited from

Processor.cameraAngle


cameraRatio

cameraRatio: number

Camera aspect ratio

Inherited from

Processor.cameraRatio


optimalSize

optimalSize: number

Recommended maximum size of input

Inherited from

Processor.optimalSize


params

protected params: Partial<MaskParams>

Processor parameters

Inherited from

Processor.params


videoRatio

protected videoRatio: number

Aspect ratio of input video

Inherited from

Processor.videoRatio


videoSize

protected videoSize: Size

Resolution of input video

Inherited from

Processor.videoSize

Methods

addListener()

addListener<E>(event, listener): this

Adds the listener function to the end of the listeners array

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.addListener


dispose()

dispose(): void

Dispose processor object

Releases resources and instances allocated by processor. Processor object cannot be used after calling dispose().

Returns

void

Overrides

Processor.dispose


emit()

emit<E>(event, …args): boolean

Synchronously calls each of the listeners registered for the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

• …args: Args<ProcessorEvents[E]>

Arguments passed to the listeners

Returns

boolean

True if the event had listeners, False otherwise

Inherited from

Processor.emit


eventNames()

eventNames(): (string | symbol)[]

List of emitter’s events

Returns

(string | symbol)[]

List of emitter’s events

Inherited from

Processor.eventNames


getMaxListeners()

getMaxListeners(): number

Maximum number of listeners per event

Returns

number

Maximum number of listeners per event

Inherited from

Processor.getMaxListeners


init()

init(params, size?, ratio?): Promise<boolean>

Initialize processor

Prepares all resources required for face mesh tracking.

Parameters

params: MaskParams

Processor parameters

size?: Size

Resolution of input video

ratio?: number

Aspect ration of input video

Returns

Promise<boolean>

Status of initialization

Overrides

Processor.init


listenerCount()

listenerCount<E>(event): number

The number of listeners listening to the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

Returns

number

Number of listeners

Inherited from

Processor.listenerCount


listeners()

listeners<E>(event): Function[]

Copy of the array of listeners for the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

Returns

Function[]

Copy of the listeners array

Inherited from

Processor.listeners


off()

off<E>(event, listener): this

Removes the listener from the listener array for the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.off


on()

on<E>(event, listener): this

Adds the listener function to the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.on


once()

once<E>(event, listener): this

Adds a one-time listener function for the event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.once


prependListener()

prependListener<E>(event, listener): this

Adds the listener function to the beginning of the listeners array

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.prependListener


prependOnceListener()

prependOnceListener<E>(event, listener): this

Adds a one-time listener function to the beginning of the listeners array

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

Inherited from

Processor.prependOnceListener


process()

process(input, timestamp?): Promise<MaskResult>

Process the image

Mask processor evaluates and tracks segmentation masks.

Parameters

input: ImageInput

Image

timestamp?: number

Image timestamp

Returns

Promise<MaskResult>

Segmentation masks

Overrides

Processor.process


rawListeners()

rawListeners<E>(event): Function[]

Copy of the array of listeners for the event including wrappers

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

Returns

Function[]

Copy of the listeners array

Inherited from

Processor.rawListeners


removeAllListeners()

removeAllListeners<E>(event?): this

Removes all listeners, or those of the specified event

Type Parameters

E extends keyof ProcessorEvents

Parameters

event?: E

The name of the event

Returns

this

This EventEmitter

Inherited from

Processor.removeAllListeners


removeListener()

removeListener<E>(event, listener): this

Removes the specified listener from the listener array

Type Parameters

E extends keyof ProcessorEvents

Parameters

event: E

The name of the event

listener: ProcessorEvents[E]

The callback function

Returns

this

This EventEmitter

Inherited from

Processor.removeListener


reset()

reset(): void

Reset processor

Resets all processing instances to the initial state.

Returns

void

Overrides

Processor.reset


setMaxListeners()

setMaxListeners(n): this

Sets maximum number of listeners per event

Parameters

n: number

Maximum number of listeners

Returns

this

This EventEmitter

Inherited from

Processor.setMaxListeners


setupVideo()

setupVideo(size, ratio?): void

Set resolution of the input video

Could be overridden to adjust processing pipeline.

Parameters

size: Size

Resolution of input video

ratio?: number

Aspect ration of input video

Returns

void

Inherited from

Processor.setupVideo