Flutter 人脸检测

Posted

技术标签:

【中文标题】Flutter 人脸检测【英文标题】:Flutter Face Detection 【发布时间】:2021-09-09 14:29:07 【问题描述】:

我正在试用flutter camera ml vision 的示例应用程序 现在我想做的是只在自定义画家的范围内拍一张脸,然后保存为 png。

在默认示例中,自定义画家是一个带有粗红色边框的正方形,显示在检测到的面部周围,但现在我需要帮助的是在该正方形内拍摄面部照片。

【问题讨论】:

【参考方案1】:

基本上你想从原始图像中裁剪面部。所以使用this库来裁剪图像。所以我假设你在脸部周围显示框时具有脸部的坐标值。

导入此image 库并使用以下方法裁剪图像:

import 'package:image/image.dart' as IMG;

Future<void> cropSquare(String srcFilePath, String destFilePath) async 
  final bytes = await File(srcFilePath).readAsBytes();
  IMG.Image src = IMG.decodeImage(bytes);

  // pass x and y(offset),width, height value of face bounding box you detected
  IMG.Image destImage = IMG.copyCrop(src, x, y, width, height);

  final png = IMG.encodePng(destImage);
  await File(destFilePath).writeAsBytes(png);

【讨论】:

以上是关于Flutter 人脸检测的主要内容,如果未能解决你的问题,请参考以下文章

人脸识别中的活体检测是啥?

行人检测和人脸检测和人脸关键点检测(C++/Android源码)

opencv中检测出人脸之后,需要把检测出的人脸区域提取出来,用作人脸识别,那么如何提取人脸区域

又快又好,行人检测和人脸检测和人脸关键点检测(C++/Android源码)

opencv 是怎么实现人脸检测的

使用位图时,Android MLKit 人脸检测未检测到人脸