MacOS下Python3 OpenCV调用Lepton PureThermal热像仪报错求解
报错解决方法
该报错为MacOS BigSur系统下OpenCV 4.5.1版本调用AVFoundation框架读取非默认UVC摄像头时的兼容性问题,可按以下顺序尝试修复:
- 检查终端摄像头权限:打开「系统偏好设置」→「安全性与隐私」→「隐私」→「摄像头」,确认iTerm 2已被赋予摄像头权限,勾选后重启iTerm再运行代码测试。
- 修改VideoCapture初始化参数,强制指定AVFoundation后端,并适配Lepton的输出分辨率:
原代码中vc = cv2.VideoCapture(cameraID)替换为以下内容:vc = cv2.VideoCapture(cameraID, cv2.CAP_AVFOUNDATION) # 适配PureThermal 2模块输出的默认分辨率 vc.set(cv2.CAP_PROP_FRAME_WIDTH, 160) vc.set(cv2.CAP_PROP_FRAME_HEIGHT, 120) - 切换OpenCV版本:OpenCV 4.5.1与MacOS 11.3存在已知的AVFoundation接口兼容bug,可升级到4.5.3及以上版本,或降级到4.4.0版本:
升级命令:pip install --upgrade opencv-python
降级命令:pip install opencv-python==4.4.0.46 - 若数字ID识别异常,可直接使用摄像头设备路径初始化:通过「系统信息」→「USB」查询PureThermal 2对应的设备路径,替换代码中的数字cameraID即可。
内容的提问来源于stack exchange,提问作者amisotcm
相关产品推荐
相关产品推荐

