Копирование изображения Ошибка кадрирования после сохранения - Flutter
я использую
firebase_ml_vision
для идентификации лиц. Мне нужно выделить лицо из изображения. Ограничивающие условия дают метод обнаружения лиц firebase.
я использовал
copyCrop
метод
Image
плагин из https://pub.dev для извлечения лица. Я могу сохранить результат. Но когда я пытаюсь открыть изображение, я получаю эти ошибки. Я пробовал сохранять в обоих форматах
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");
}