标签: android ios camera flutter face-recognition
我正在尝试进行人脸识别,需要从相机中获取图像/文件流。 我决定使用Flutters自己的相机库camera: 0.2.9+1。 方法CameraController.startImageStream(Function(CameraImage) onAvailable)很有希望,但我不知道如何将CameraImage数据转换为可识别的面部识别数据。
camera: 0.2.9+1
CameraController.startImageStream(Function(CameraImage) onAvailable)
CameraImage
还有其他人解决吗?
答案 0 :(得分:1)
CameraImage通常为YUV 420格式。 (测试cameraImage.format.group进行确认。)
cameraImage.format.group
这与Firebase ML很好地配合,因为它是期望的格式。有用的演示here。但是,其他识别器可能需要其他格式(例如,AWS需要JPEG或PNG)。
YUV很难转换,因为它使用色度二次采样。另外,为了提高性能,您可能希望使用本机代码。在Android上,有一个YUVImage类,您可以在其中传递飞机。它具有一种转换为JPEG的方法。创建一个插件或方法通道,以将平面传递到YUVImage,将其保存到ByteArrayOutputStream并返回字节。