在 ios7 xcode 中设置相机焦点。 opencv

Posted

技术标签:

【中文标题】在 ios7 xcode 中设置相机焦点。 opencv【英文标题】:Setting the cameras focus in ios7 xcode. opencv 【发布时间】:2014-07-23 00:05:28 【问题描述】:

我正在制作一个 ios 7 应用程序,它将校准我的 iphone 内在函数,然后使用 2 个 iphone 重建 3d 点。为此,我需要在运行 opencv 棋盘校准时锁定焦点。然后,当我使用这种内在校准来重建和检测物体时,我需要将手机焦点设置并锁定回运行内在校准时使用的相同值。

那么如何将我的 iphone 相机的焦点设置为给定值?我做了一些谷歌搜索,但什么也没发现。

干杯。

【问题讨论】:

【参考方案1】:

抱歉,在 iOS 7 中您不能这样做。您可以锁定焦点,但无法将其设置为特定点(也无法读取焦点位置,请看)。您的对焦控制仅限于锁定、解锁和设置对焦偏差(近物体、远物体或全范围)。您可以监控设备当前是否正在对焦。但就是这样。

因此,如果您正在为 iOS 7 进行开发,那么您就不走运了;另一方面,如果您可以使用 iOS 8 作为基准...

【讨论】:

【参考方案2】:

我假设您将使用 AVFoundation。还有其他关于如何设置 AVCaptureSession 的问题/答案。设置好设备后,您可以像这样设置焦点模式:

        AVCaptureDevice *device = [[self getActiveVideoDeviceInput] device];
        NSError *error = nil;
        if ([device lockForConfiguration:&error])
        
            if ([device isFocusModeSupported:AVCaptureFocusModeLocked])
            
                [device setFocusMode:AVCaptureFocusModeLocked];
            
            [device unlockForConfiguration];
        
        else
        
            NSLog(@"%@", error);
        

所以基本上,你会在某个时候设置你的焦点模式,然后你可以在一个属性中存储那个模式是什么。然后,您可以稍后根据您的要求更新/更改它。

此外,本文档详细说明了三种可能的对焦模式:

https://developer.apple.com/library/mac/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html

【讨论】:

以上是关于在 ios7 xcode 中设置相机焦点。 opencv的主要内容,如果未能解决你的问题,请参考以下文章

android 中如何设置焦点的位置。

如何在 iOS7 中设置 UINavigationBar? [复制]

在 iOS7 中设置 NSLayoutConstraint 常量

如何在 Elm 中设置焦点?

在 Android 应用程序中设置初始焦点

尝试在 SurfaceView 中设置时拉伸相机预览