我正在试用flutter camera ml vision的示例应用程序现在我想做的是只在自定义画家的范围内拍摄人脸照片,并保存为png。
在默认的例子中,自定义画家是一个有着厚厚红色边框的正方形,显示在检测到的人脸周围,但现在我需要帮助的是在这个正方形内拍摄人脸的照片。
基本上,您希望从原始图像中裁剪面部。所以使用这个库来裁剪图像。所以我假设你们有脸的坐标值,就像你们在脸周围显示框一样。
导入此图像库并使用以下方法裁剪图像:
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);
}