以下是我的相机代码 https://gist.github.com/axilaris/0ad51f4f8b6155c9e6883433780a75fa
我有一个xiaomi redmi android,它可以正确裁剪。我们还测试了其他几款Android设备,并能够正确裁剪出检测到的面部。
但是,我们在oppo F1S上有一个特殊情况,它无法正确裁剪
注意绿色框
要检查是否正确裁剪,有一个覆盖代码绘制了面部检测框,下面是一个比面部检测框稍大的框。
// XXX outerbox
rectF.left = rectF.left - (int) (rectF.width() * 0.1);
rectF.top = rectF.top - (int) (rectF.height() * 0.1);
rectF.right = rectF.right + (int) (rectF.width() * 0.1);
rectF.bottom = rectF.bottom + (int) (rectF.height() * 0.1);
canvas.drawRect(rectF.left, rectF.top, rectF.right, rectF.bottom, mPaint);
但是,对于设备oppo f1s,裁剪的图片无法正确放置在面部
我们该如何解决?确实参考了带有面部检测实现的相机,为什么oppo f1的行为与我们测试过的redmi和Samsung设备类似?谢谢。