【问题标题】:Smooth focus ramp on AVCaptureDeviceAVCaptureDevice 上的平滑对焦斜坡
【发布时间】:2019-05-15 08:26:32
【问题描述】:

我正在使用 AVCaptureDevice setFocusModeLocked 来实现从 A 点到 B 点的对焦斜坡。我这样做的方法是将 delta 定义为 0.03 之类的值,然后反复调用 API 来设置 lensPosition。

   device.setFocusModeLocked(lensPosition: pointA, completionHandler: {[weak self] (time) in
            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now(), execute: { [weak self] in

                if pointA == pointB {
                    device.unlockForConfiguration()
                    return
                }

                var beginPoint = fmax(currentLensPosition + delta),Float(0))
                let endPoint = fmin(pointB, Float(1.0))


                self?.focusRampRecursive( beginPoint,
                                          pointB:endPoint,
                                          delta: delta,
                                          device: device)
            })
        })

问题是斜坡不平滑。斜坡发生时可以看到跳跃。我怎样才能使它顺利?

【问题讨论】:

    标签: ios avfoundation avcapturesession avcapturedevice


    【解决方案1】:

    有几种方法。

    (1) 减少重复调用函数的时间间隔。只有慢速调用才会产生视觉上明显的效果,如果速度足够快,人类不会注意到,例如你的灯以 50hz 闪烁,而你认为​​它一直亮着

    (2) 将增量减小到更小的值。这样即使他们之间的时间很大,但每次的变化却很小。所以眼睛也不会注意到

    (3) 使用其他非线性映射函数,如 exp 或 log 函数。而不是调用线性添加斜坡。其他 exp 或 log 可能会更好,因为 A 到 B 通常不是线性映射的。在视觉不是很敏感的区域,移动得更快,在视觉敏感的区域,移动得更慢。 Emm 我该怎么形容这个。我能想到的最接近的例证是立体视觉。在更近的范围内,你实际上有更多的离散级别来表示。在远距离上,表示的离散程度较低。相同的苹果作为焦点。

    您体验这一点的 ezist 方式是在 ubuntu 中使用 chesse 运行 v4l2ucp。将焦点从一侧拖到另一侧。你会注意到近距离变化很大,中远距离变化很小

    【讨论】:

    • 感谢您的回复。虽然我尝试了减少时间间隔的明显技巧,但它不起作用,坡道上仍然有抽搐。主要问题是镜头从值 A 变为值 B 所需的时间未知。建议 3 听起来很有趣,我会尽力回复您。
    • 另外我如何确定视觉敏感区域?
    • 例如,您可以使用均值/前 N 角特征响应作为测量值。对于您之前的固定间隔方法,请在预设焦点级别捕获相同的角落。这给出了测量(N1,N2,N3,N4 ....)。通过找到相邻测量之间的绝对差异,您可以知道响应随给定间隔(|N1-N2|,|N2-N3|.|N3-N4|......)的变化有多大,差异值越大是,这个区间的变化越敏感。
    • 为了使变化逐渐/不那么明显,您的相邻测量值之间的差异应该小于一个值。希望这能清楚地解释这个想法。如果您仍有疑问,可以在linkedlin 中找到我进行实时聊天
    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    相关资源
    最近更新 更多