/// /// import { EventEmitter } from "tsee"; import { LinuxImpulseRunner, ModelInformation, RunnerClassifyResponseSuccess, RunnerHelloResponseModelParameters } from "./linux-impulse-runner"; import sharp, { FitEnum } from 'sharp'; import { ICamera } from "../sensors/icamera"; import * as models from "../../sdk/studio/sdk/model/models"; export declare const FitMethodMap: { [key: string]: keyof FitEnum; }; export declare const FitMethodStudioMap: Record, models.ImageInputResizeMode>; export declare class ImageClassifier extends EventEmitter<{ result: (result: RunnerClassifyResponseSuccess, timeMs: number, imgAsJpeg: Buffer) => void; profileSnapshotHandlerBegin: (filename: string) => void; profileSnapshotHandlerEnd: (filename: string) => void; profileFeaturesBegin: (filename: string) => void; profileFeaturesEnd: (filename: string) => void; profileClassifyBegin: (filename: string) => void; profileClassifyEnd: (filename: string, timingCpp: RunnerClassifyResponseSuccess['timing']) => void; profileEmitResultBegin: (filename: string) => void; profileEmitResultEnd: (filename: string) => void; }> { private _runner; private _camera; private _stopped; private _runningInference; private _model; private _verbose; /** * Classifies realtime image data from a camera * @param runner An initialized impulse runner instance * @param camera An initialized ICamera instance */ constructor(runner: LinuxImpulseRunner, camera: ICamera, opts?: { verbose?: boolean; }); /** * Start the image classifier */ start(): Promise; resume(): void; pause(): void; /** * Stop the classifier */ stop(): Promise; setImageParameters(params: { image_width?: number; image_height?: number; image_channels?: number; }): Promise; getRunner(): LinuxImpulseRunner; static resizeImage(model: ModelInformation, data: Buffer, metadata?: sharp.Metadata): Promise<{ img: sharp.Sharp; features: number[]; originalWidth: number; originalHeight: number; newWidth: number; newHeight: number; }>; static rgbBufferToFeatures(data: Buffer): number[]; private classify; }