OpenHPS/openhps-opencv

View on GitHub
src/server/nodes/processing/ImageDilateNode.ts

Summary

Maintainability
B
6 hrs
Test Coverage
import { ImageFrame, OpenCV } from '../../../common';
import { ImageProcessingNode, ImageProcessingOptions } from './ImageProcessingNode';

export class ImageDilateNode<InOut extends ImageFrame> extends ImageProcessingNode<InOut> {
    protected options: ImageDilateOptions;

    constructor(options?: ImageDilateOptions) {
        super(options);
    }

    processImage(image: OpenCV.Mat): Promise<OpenCV.Mat> {
        return new Promise((resolve) => {
            const mat = image.dilate(
                new OpenCV.Mat(),
                new OpenCV.Point2(0, 0),
                this.options.iterations ? this.options.iterations : 1,
            );
            resolve(mat);
        });
    }
}

export interface ImageDilateOptions extends ImageProcessingOptions {
    iterations?: number;
}