首页 > 解决方案 > Flutter Azure 人脸 API

问题描述

我尝试将 Microsoft Azure Face API 与 Flutter 一起使用,并且我正在使用一个名为cognitive_face_flutter的库。
我的代码。

File img = await ImagePicker.pickImage(source: ImageSource.gallery);
    if (img != null) {
      List<Face> _faces = await client.detect(
        image: img,
        returnFaceAttributes: FaceAttributeType.values,
        returnFaceLandmarks: true,
      );

      print('DETECTED FACES : ${_faces.length}');

      setState(() {
        _image = img;
        faces = _faces;
      });
    }

我得到这个错误:_TypeError(类型'_InternalLinkedHashMap'不是'String'类型的子类型)等待client.detect
有谁知道如何解决这个问题?或者还有其他我可以使用的图书馆吗?

标签: azureflutterdartface-api

解决方案


在设置图像状态后尝试调用它。喜欢

if (_image != null) {
      _getImageSize(Image.file(_image, fit: BoxFit.fitWidth)).then((Size size) {
        print('CROPPED IMAGE WIDTH: ${size.width} HEIGHT: ${size.height}');
      });

      setState(() {
        image = _image;
        isLoading = true;
      });

      List<Face> _faces = await client.detect(
        image: _image,
        returnFaceAttributes: FaceAttributeType.values,
        returnFaceLandmarks: true,
      );

      print('DETECTED FACES: ${_faces.length}');

      setState(() {
        faces = _faces;
        isLoading = false;
      });
    }
  }

推荐阅读