如何解决保存后图像复制裁剪错误 - Flutter
我正在使用 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 举报,一经查实,本站将立刻删除。