WithFaceLandmarks.js 1.0 KB

1234567891011121314151617181920212223
  1. import { FaceDetection } from '../classes/FaceDetection';
  2. import { FaceLandmarks } from '../classes/FaceLandmarks';
  3. import { isWithFaceDetection } from './WithFaceDetection';
  4. export function isWithFaceLandmarks(obj) {
  5. return isWithFaceDetection(obj)
  6. && obj['landmarks'] instanceof FaceLandmarks
  7. && obj['unshiftedLandmarks'] instanceof FaceLandmarks
  8. && obj['alignedRect'] instanceof FaceDetection;
  9. }
  10. export function extendWithFaceLandmarks(sourceObj, unshiftedLandmarks) {
  11. var shift = sourceObj.detection.box;
  12. var landmarks = unshiftedLandmarks.shiftBy(shift.x, shift.y);
  13. var rect = landmarks.align();
  14. var imageDims = sourceObj.detection.imageDims;
  15. var alignedRect = new FaceDetection(sourceObj.detection.score, rect.rescale(imageDims.reverse()), imageDims);
  16. var extension = {
  17. landmarks: landmarks,
  18. unshiftedLandmarks: unshiftedLandmarks,
  19. alignedRect: alignedRect
  20. };
  21. return Object.assign({}, sourceObj, extension);
  22. }
  23. //# sourceMappingURL=WithFaceLandmarks.js.map