drawFaceExpressions.js 1.7 KB

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