软件环境:虹软ArcFace SDK3.0
参考文献:https://ai.arcsoft.com.cn/bbs/forum.php?mod=viewthread&tid=1318&_dsign=584e4fdb
实际应用中SDKdemo在手机端的视频识别和跟踪是没问题的,但是在一些嵌入式设备中可能由于横竖屏等种种原因会产生这个现象
:识别界面中,人脸运动方向和框框运动方向相反(镜像运动),在笔者项目中是屏幕方向设置为ASF_OP_0_ONLY的时候出现的问题。那么这个问题该如何解决呢?虹软官网的参考文献给我们提示,改动点其实是在DrawHelper的
public Rect adjustRect(Rect ftRect)
方法中,因为我们的问题出现在ASF_OP_0_ONLY的时候,因此需要对adjustRect改为如下的形式
switch (cameraDisplayOrientation) { case 0: // 人脸追踪红框方向相反可以改此处 if (cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) { newRect.left = rect.left; newRect.right = rect.right; } else { newRect.left = canvasWidth - rect.right; newRect.right = canvasWidth - rect.left; } newRect.top = rect.top; newRect.bottom = rect.bottom; break;
其实就是将if中代码调换过来,运动方向自然就相反了,笔者推测,估计是笔者的嵌入式设备只有一个摄像头,它虽然是个前置摄像头但是是后置属性,因此就出现镜像运动方向。