常见问题解答
这种框架支持图像的格式包括哪几种?
• 摄像头预览的图像包括: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
Qualcomm 开发者专区是 Qualcomm 联合CSDN 共同打造的面向中国开发者的技术专区。致力于通过提供全球最新资讯和最多元的技术资源及支持,为开发者们打造全面一流的开发环境。本专区将以嵌入式、物联网、游戏开发、Qualcomm® 骁龙™处理器的软件优化等技术为核心,打造全面的开发者技术服务社区,为下一代高性能体验和设计带来更多的想法和灵感。
加入 Qualcomm 开发者专区

申请成为“Qualcomm荣誉技术大使”
“Qualcomm荣誉技术大使”是Qualcomm开发者社区对开发者用户技术能力与影响力的认证体现,该荣誉代表Qualcomm社区对用户贡献的认可与肯定。
立即申请招贤纳士
Qualcomm在中国的业务发展迅速,每年提供大量的技术岗位,分布在北京,上海,深圳等地。Qualcomm开发者社区是开发者藏龙卧虎之地,Qualcomm中国HR特别设立了招聘通道,欢迎开发者同学踊跃报名。
Qualcomm 活动 更多
6月19日
线上