|
|
@@ -12,6 +12,7 @@ export class ArFanCamPage implements OnInit { |
|
|
|
@ViewChild('videoElement') videoElement: ElementRef<HTMLVideoElement>; |
|
|
|
@ViewChild('glassesElement') glassesElement: ElementRef<HTMLImageElement>; |
|
|
|
@ViewChild('canvasElement') canvasElement: ElementRef<HTMLCanvasElement>; |
|
|
|
@ViewChild('sourceCanvasElement') sourceCanvasElement: ElementRef<HTMLCanvasElement>; |
|
|
|
|
|
|
|
mediaStream: MediaStream|null = null; |
|
|
|
capturedImageStrings: Array<string> = []; |
|
|
@@ -118,7 +119,11 @@ export class ArFanCamPage implements OnInit { |
|
|
|
detectAndDrawFace = async () => { |
|
|
|
const tinyFaceDetectorOptions = new TinyFaceDetectorOptions(); |
|
|
|
|
|
|
|
let detectionWithLandmarks = await detectSingleFace(this.videoElement.nativeElement, tinyFaceDetectorOptions).withFaceLandmarks(true); |
|
|
|
const sourceCanvas = this.sourceCanvasElement.nativeElement; |
|
|
|
const context = sourceCanvas.getContext('2d'); |
|
|
|
context.drawImage(this.videoElement.nativeElement, 0, 0, sourceCanvas.width, sourceCanvas.height); |
|
|
|
|
|
|
|
let detectionWithLandmarks = await detectSingleFace(this.sourceCanvasElement.nativeElement, tinyFaceDetectorOptions).withFaceLandmarks(true); |
|
|
|
|
|
|
|
if (detectionWithLandmarks) { |
|
|
|
const leftEye = detectionWithLandmarks.landmarks.getLeftEye(); |
|
|
|