我想用前置摄像头检测人脸。
我已经将相机更改为前置摄像头,并更改了这样的位置,并且288是模型图像的输入尺寸。
在DetectorActivity.java
函数processImage
location.left = 288f - result.getLocation().left;
location.right = 288f - result.getLocation().right;
在SurfaceTextureListener中的LegacyCameraConnectionFragment.java中
camera.addCallbackBuffer(new byte[ImageUtils.getYUVByteSize( s.width,s.height)]);
textureView.setAspectRatio(s.width,s.height);
在LegacyCameraConnectionFragment.java方向中
static {
ORIENTATIONS.append(Surface.ROTATION_0, 0);
ORIENTATIONS.append(Surface.ROTATION_90, 90);
ORIENTATIONS.append(Surface.ROTATION_180, 180);
ORIENTATIONS.append(Surface.ROTATION_270, 270);}
现在我的代码可以正确检测到人了,但是边界框的方向却相反(left-> right.right-> left)。也许我想念编辑某处的位置吗?
另一个问题是,有时当目标移动时,会出现一个新的边界框,但是旧的边界框也仍然存在。但是,如果预览发生了很大变化(例如目标快速离开或新目标进入),则旧框将消失。 如果有人有任何想法,我将不胜感激。 我记录了检测场景并将其放在下面。