如何将使用Angular7的网络摄像头捕获的图像传递到Azure faceAPI

时间:2019-04-21 18:41:00

标签: azure angular7 face-api

我对Angular 7并不陌生,我想创建一个非常基本的应用程序,该应用程序将通过网络摄像头捕获您的图像,然后将其发送到AzureAPI,以达到您的年龄。 但是,一段时间以来我一直遇到相同的错误,而且似乎无法修复。

在视图上,我有一个按钮可以捕获您的图像,这是它的功能:

     public capture() {
     var context = 
this.canvas.nativeElement.getContext("2d").drawImage(this.video.nativeElement, 0, 0, 640, 480);
    this.captures.push(this.canvas.nativeElement.toDataURL("image/png"));
    this.imageUrl= this.canvas.nativeElement.toDataURL("image/png");
    var imgData = JSON.stringify(this.imageUrl.split(',')[1]);
    console.log(imgData);
    console.log(this.data.getPersonAge(imgData).subscribe(data => {this.PersonInfo = data
  console.log(data)}))
}

在服务上,我具有以下调用API的功能:

      getPersonAge(image)
  {
    console.log("data.Service.ts");
    const Headers = new HttpHeaders({
      'Content-Type': 'application/octet-stream',
      'Ocp-apim-Subscription-Key': this.apiKey
    })

    return this.http.post(this.url, image, { headers: Headers});
  }

并且我收到BadRequest响应,因为我传递了无效的图像类型,而且我不确定如何将已有的图像转换为有效的图像。

0 个答案:

没有答案