drawFaceExpressions.js 1.4 KB

1234567891011121314151617181920212223242526
  1. import { Point } from '../classes';
  2. import { FaceExpressions } from '../faceExpressionNet';
  3. import { isWithFaceDetection } from '../factories/WithFaceDetection';
  4. import { isWithFaceExpressions } from '../factories/WithFaceExpressions';
  5. import { round } from '../utils';
  6. import { DrawTextField } from './DrawTextField';
  7. export function drawFaceExpressions(canvasArg, faceExpressions, minConfidence, textFieldAnchor) {
  8. if (minConfidence === void 0) { minConfidence = 0.1; }
  9. var faceExpressionsArray = Array.isArray(faceExpressions) ? faceExpressions : [faceExpressions];
  10. faceExpressionsArray.forEach(function (e) {
  11. var expr = e instanceof FaceExpressions
  12. ? e
  13. : (isWithFaceExpressions(e) ? e.expressions : undefined);
  14. if (!expr) {
  15. throw new Error('drawFaceExpressions - expected faceExpressions to be FaceExpressions | WithFaceExpressions<{}> or array thereof');
  16. }
  17. var sorted = expr.asSortedArray();
  18. var resultsToDisplay = sorted.filter(function (expr) { return expr.probability > minConfidence; });
  19. var anchor = isWithFaceDetection(e)
  20. ? e.detection.box.bottomLeft
  21. : (textFieldAnchor || new Point(0, 0));
  22. var drawTextField = new DrawTextField(resultsToDisplay.map(function (expr) { return expr.expression + " (" + round(expr.probability) + ")"; }), anchor);
  23. drawTextField.draw(canvasArg);
  24. });
  25. }
  26. //# sourceMappingURL=drawFaceExpressions.js.map