首页 > 解决方案 > VideoCapure::open() 在打开 C++ 之前不等待授予权限

问题描述

我正在使用 OpenCv 4.4.0 打开相机和 MacOs Mojave。

我需要授予应用程序访问相机的权限。为此,我已将NSCameraUsageDescription密钥添加到info-app.plist并且我知道这是有效的,因为当我尝试使用VideoCapture::open(0)询问相机权限的对话框打开相机时,确实会出现。

问题是这个函数不等待被授予权限并且立即失败离开屏幕上的对话框并输出以下文本:

OpenCV:未授权捕获视频(状态 0),请求...
OpenCV:相机未能正确初始化!

这使对话框基本上无用。

反正有没有让open()功能等待用户与权限对话框交互?

标签: c++macosopencv

解决方案


推荐阅读