Vuforia 摄像头自动对焦问题测试

           在利用Unity3D以及Vuforia开发AR项目

问题:

摄像头无法聚焦

前提知识:

在Vuforia焦点模式下的行为(1.5版以上),描述如下:

FOCUS_MODE_NORMAL -通过设备提供的默认的对焦模式
FOCUS_MODE_TRIGGERAUTO -设置此对焦模式将触发一个自动对焦操作。
FOCUS_MODE_CONTINUOUSAUTO -首发的Android 2.3和iOS设备这一对焦模式下可切换式驱动级的连续自动对焦的摄像头。这是AR的应用程序的最佳对焦模式,因为它保证了相机聚焦在目标上,从而产生最佳的跟踪结果。
FOCUS_MODE_INFINITY -设置相机为“无穷大”,通过摄像头驱动程序的实现提供。(不支持IOS)。
FOCUS_MODE_MACRO -设置相机“微距”模式,由相机驱动程序的实现提供。这提供了特写(APPX。15厘米),在AR调校很少使用的距离急剧摄像机图像。(不支持IOS)。
我们鼓励使用FOCUS_MODE_CONTINUOUSAUTO在你的应用程序时,它可以在设备上。当设置该模式时,如果返回值setFocusMode()为TRUE时应用程序将提供锋利的照相机图像的两个上级渲染,以及超棒跟踪性能。

如果FOCUS_MODE_CONTINUOUSAUTO不可用,接下来最好的选择是实现“触摸聚焦”在你的应用程序的行为。要做到这一点,引发setFocusMode()与FOCUS_MODE_TRIGGERAUTO值每个用户触摸屏幕的时间。这种行为的缺点是,大多数摄像头的驱动程序随机选择一个方向集中(或近或远),所以你有50%的几率使图像散焦,然后集中在目标上。由于在此焦点的逻辑一定条件下的跟踪可能会丢失了一会儿,直到清晰的图像是由相机再次提供。

FOCUS_MODE_INFINITY和FOCUS_MODE_MACRO是在某些应用场合可使用的,如上所述。

FOCUS_MODE_NORMAL设置相机在默认模式下的摄像头驱动程序定义。Setting Focus Mode with the Vuforia Unity Extension C# API


bool focusModeSet = CameraDevice.Instance.SetFocusMode(  
    CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
 
if (!focusModeSet) {
    Debug.Log("Failed to set focus mode (unsupported mode).");
}

来自http://blog.csdn.net/liang_704959721/article/details/39227101


解决方式:

1.新建C#绑定ARCamera

unity C#

bool focusModeSet = CameraDevice.Instance.SetFocusMode(     CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO); if (!focusModeSet) {    Debug.Log( "Failed to set focus mode (unsupported mode)." );

using Vuforia;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值