@vladmandic/face-api
Version:
FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS
56 lines (40 loc) • 1.42 kB
text/typescript
import { Box } from './Box';
import { Dimensions, IDimensions } from './Dimensions';
import { IRect, Rect } from './Rect';
export class ObjectDetection {
private _score: number
private _classScore: number
private _className: string
private _box: Rect
private _imageDims: Dimensions
constructor(
score: number,
classScore: number,
className: string,
relativeBox: IRect,
imageDims: IDimensions,
) {
this._imageDims = new Dimensions(imageDims.width, imageDims.height);
this._score = score;
this._classScore = classScore;
this._className = className;
this._box = new Box(relativeBox).rescale(this._imageDims);
}
public get score(): number { return this._score; }
public get classScore(): number { return this._classScore; }
public get className(): string { return this._className; }
public get box(): Box { return this._box; }
public get imageDims(): Dimensions { return this._imageDims; }
public get imageWidth(): number { return this.imageDims.width; }
public get imageHeight(): number { return this.imageDims.height; }
public get relativeBox(): Box { return new Box(this._box).rescale(this.imageDims.reverse()); }
public forSize(width: number, height: number): ObjectDetection {
return new ObjectDetection(
this.score,
this.classScore,
this.className,
this.relativeBox,
{ width, height },
);
}
}