一、错误描述:
1、环境:
MacOS 15
Pycharm
OpenCV
2、使用描述:
Pycharm 中使用 OpenCV cv2.VideoCapture(0) 调用Mac本机摄像头报错
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
但是可以在终端成功使用
3、报错分析:
MacOS Catalina新的安全协议导致的,md三个多月了PyCharm还没有从软件上解决这个问题,在调用期间Pycharm也没有发出访问摄像头的对话框
二、解决问题:
解决思路利用终端有打开摄像头的权限,用终端打开Pycharm来间接授权,由于Terminal是Apple授权的,本文采用来:Iterm2
1、下载安装 Iterm2:
下载后拖入应用程序即可
2、使用iTerm2打开一个需要摄像头的文件(OpenCV-python 调用摄像头的文件即可)
cd 文件夹位置
python 文件夹名称
3、使用iTerm2打开Pycharm:
cd /Applications/PyCharm.app/Contents/MacOS
open pycharm
然后就可以正常使用了
三、问题分析:
1、本问题是Pycharm与苹果安全策略的问题,目前官方已经在取得苹果支持的过程中。
2、本方法并没有完全解决这个问题,需要每次都用这种方法。
3、最后希望大家找到更好的解决方法。
有借鉴https://blog.csdn.net/DerrickRose25/article/details/102997685#comments