我几乎阅读了有关此主题的所有问题,但我没有解决。 我正在研究Linux / Mint。我试图用opencv打开我的网络摄像头(或任何无关紧要的视频)并从视频中读取一帧。我写这段代码:
import cv2
cap = cv2.VideoCapture(0)
while(True):
ret, frame = cap.read()
print ret #It returns always false
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
- >我读过这个问题可能是因为opencv安装。我检查了安装,看来是真的。当我写'pip freeze'时,结果列表包含 opencv-python模块,所以我认为安装是正确的,这不是我问题的原因。
- >我试图将将videoCapture(0)中的索引更改为-1和1,然后再次失败。
- >然后,我读到其他原因可能是 FFmpeg 或编解码器。但我也安装了FFmpeg,问题没有改变。
- > cv2.VideoCapture()没有给出任何错误,但我想在Poject> Settings> Project Interpreter上安装cv2模块,它给了我一个错误(执行命令: pip install cv2 )但是当我运行此命令,它给了我这个错误:找不到满足要求的版本cv2(来自版本:)没有找到cv2的匹配分发 我检查了我的virtualenv中的cv2模块,它似乎在那里。 (/cv_env/lib/python2.7/site-packages/cv2)
- >我也尝试了“skvideo.io.VideoCapture()”,但我又失败了。
所以,我不明白这个问题,我在这个问题上真的很新。 有什么问题?
答案 0 :(得分:0)
sudo modprobe bcm2835-v4l2
将"启用"你自己的pi摄像头用于opencv。