OpenHPS/openhps-opencv

View on GitHub
src/web/nodes/processing/GaussianBlurNode.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Mat } from 'opencv4nodejs';
import { ImageFrame, OpenCV } from '../../../common';
import { GaussianBlurOptions } from '../../../server';
import { ImageProcessingNode } from './ImageProcessingNode';

export class GaussianBlurNode<InOut extends ImageFrame> extends ImageProcessingNode<InOut> {
    protected options: GaussianBlurOptions;

    constructor(options: GaussianBlurOptions) {
        super(options);
    }

    processImage(image: OpenCV.Mat): Promise<OpenCV.Mat> {
        return new Promise((resolve) => {
            const dst = new Mat();
            (OpenCV as any).GaussianBlur(
                image,
                dst,
                new OpenCV.Size(this.options.kernelSize, this.options.kernelSize),
                0,
            );
            resolve(dst);
        });
    }
}