问题描述
我正在使用 firebase_ml_vision
来识别面孔。我需要从图像中提取人脸。边界条件给出了firebase人脸检测方法。
我使用了 https://pub.dev 中的 copyCrop
方法 Image
插件来提取人脸。我能够保存结果。但是当我尝试打开图像时,出现这些错误。我尝试以 PNG
和 JPEG
两种格式保存。
这是我写的函数。
import 'package:image/image.dart' as editimage;
_editimage() async {
final Face face = await _scanResults[0];
final left = face.boundingBox.left.truncate();
final right = face.boundingBox.right.truncate();
final top = face.boundingBox.top.truncate();
final bottom = face.boundingBox.bottom.truncate();
print("Boundings" + face.boundingBox.toString());
Directory d = await getExternalStorageDirectory();
DateTime date = DateTime.Now();
File img = File(_path);
editimage.Image originalImage =
editimage.decodeImage(img.readAsBytesSync());
editimage.Image faceCrop =
editimage.copyCrop(originalImage,left,top,right,bottom);
final encodedImg = editimage.encodeJpg(faceCrop);
final decodedImg = await decodeImageFromList(encodedImg);
final result = await decodedImg.toByteData();
final finalPath = "${d.path}/Face_Image_${date.toIso8601String()}.png";
final finalImage = await new File(finalPath).create();
final finalResult =
result.buffer.asUint8List(result.offsetInBytes,result.lengthInBytes);
finalImage.writeAsBytesSync(finalResult);
print("Face crop finished");
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)