常见问题解答


这种框架支持图像的格式包括哪几种?

• 摄像头预览的图像包括:YUV和NV21,其它格式的图像需要先转换成YUV或NV21格式。
• 静态图像包括:位图存储。

应该如何理解函数FacialProcessing.setFrame(...)中的参数"frameWidth"和"frameHeight"?

• 摄像头预览的图像:通过函数"Camera.getParamters.previewSize"可以获得准确的宽度和高度尺寸信息;
• 静态图像:bitmap格式图像的尺寸。

为什么最终的脸部坐标相对于屏幕预览图像存在一定的旋转角度?

• 这是因为不同设备上摄像头存在安装误差。
• 为了解决这个问题,使用函数"setFrame(byte [] frameData, int frameWidth, int frameHeight, Boolean isMirrored, PREVIEW_ROTATION_ANGLE rotationAngle)"。通过枚举类 "PREVIEW_ROTATION_ANGL"赋予期望的旋转角度值就可以使得该坐标和预览视图对齐。
• 安卓应用程序接口 "Camera.orientation",能提供相对摄像头原始位置的旋转角度,用这个值来确定PREVIEW_ROTATION_ANGLE。(设备以纵向放置时,通过安卓应用程序接口camera. orientation就可以返回偏移角度。360度减去偏移角度值就是脸部坐标对齐屏幕所需要旋转的角度。)

为什么函数FacialProcessing.getInstance()会返回空值?

• 可能的原因包括:
• 该设备不支持脸部处理,可以通过调用方法"

FacialProcessing.isFeatureSupported"来验证,如果方法返回"false",说明设备不支持脸部处理。

• 脸部处理已经在运行,以可以通过:
• 退出当前正在运行的脸部处理实例,或者:
• 调用函数"FacialProcessing.release( )"来释放原来创建的脸部处理实例,然后再次调用"FacialProcessing.getInstance( )"

视频模式和静态模式有什么相对优势?

• 视频模式下的效率更高,因为可以在上一帧数据的基础上使用特定的预测算法,它更适合做扫描摄像头预览。
• 静态模式的精度更高,因为它能时时扫描整个图像,它更适合于静态图像。

哪些情况下需要使用方法"setFrame"中的"isMirrored"参数?

• 使用前置摄像头预览图像时,设置参数"isMirrored"值为"TRUE"

最终的脸部坐标没有对齐屏幕预览视图,该如何解决?

• 你需要通过绘制的视图长宽尺寸来标准化脸部坐标
示例代码:
if rotation angle is 0 or 180 degrees, then
   newX = oldX * surfaceWidth / cameraPreviewWidth
    newY = oldY * surfaceHeight / cameraPreviewHeight
if rotation angle is 90 or 270 degrees, then
   newX = oldX * surfaceWidth / cameraPreviewHeight
    newY = oldY * surfaceHeight / cameraPreviewWidth

XR

Qualcomm XR专区是 Qualcomm和CSDN联合建立的聚焦增强现实(AR)、虚拟现实(VR)等技术的技术专区。本专区将为开发者打造一流的开发环境,提供丰富的技术支持,和新闻资讯,以及最全面的下载资料。让开发者感受非凡移动体验、带来身临其境的移动享受、感受精彩生活、无限接近逼真视觉提供支持,打造一个全面的移动开发者技术服务社区。

了解更多

SDK 下载

本版块下载 SDK,只需简单注册,就可轻松下载。