mac下python调用opencv打开摄像头,是挺麻烦的,这里把我遇到的问题和解决方式汇总一下。
一、python版本问题
由于我的mac本身装了2.7版本,后来又因为别的开发需求装了3.7。然后用pip install opencv-python就一大堆的问题。后来我干脆用anaconda重新装了一个python3.7。然后使用idea来开发。idea安卓python插件我就不详细介绍了,网上很多。安装完插件以后,要设置一下python-sdk。设置路径为File-Project-Struc...-SDK。选择你的anaconda安装python的路径(在你的anaconda路径下哦,例如我的是/Users/.../opt/anaconda3/envs/python37/)。设置完后,在anaconda上面搜索opencv。
装完以后你就可以在idea里面用了。
二、调用摄像头的问题
上最简单的调用摄像头代码
import cv2 import time capture = cv2.VideoCapture(0) time.sleep(1) while True: ret, frame = capture.read() frame = cv2.flip(frame,1) #镜像操作 cv2.imshow("video", frame) key = cv2.waitKey(50) #print(key) if key == ord('q'): #判断是哪一个键按下 break cv2.destroyAllWindows()
但是会出现问题哦,我的是
pydev debugger: process 3248 is connecting
Connected to pydev debugger (build 192.6817.14)
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
然后就没了。网上就是一大堆的,乱七八糟的解决办法。然后没有卵用 。不过我看到有人说是权限问题,于是乎,就去终端跑了。首先找到/Users/.../opt/anaconda3/envs/python37/bin 目录下。然后把上面代码拷贝到一个新建文件test.py。然后敲命令
./python3.7 test.py,不一定成功哦,因为还没有设置权限,权限在哪设置呢,
系统偏好设置-安全隐私,如下图
然后你就能成功了。
三、在idea里面我想跑这个代码
其实我也还没找到办法,我是来看看有人解决了,给我回复一下么.....