我在使用 anaconda 的 python 中的 opencv 中遇到了网络摄像头的问题。
问题如下:
如果通过两者之一安装 opencv,我无法打开网络摄像头:
pip install opencv-python
(可用 3.1、3.2、3.3),或
pip install opencv-contrib-python
(3.2、3.3可用)
但是,当且仅当我从以下位置安装它时它才会起作用
conda install opencv
(可用opencv 3.1)
然而,opencv 的某些功能仅在较新版本或目前无法通过 conda 提供的 contrib 版本中提供。
有谁知道为什么 pip 版本不起作用?
更新 => pypi 上的 Pip Packgage 未与 Linux 的 FFMPEG 链接:
conda install -c conda-forge opencv
提供 3.3 但没有 contrib
=> 如果需要其他版本,则需要从源代码构建
这里是用于使用网络摄像头的代码:
(是的,我尝试了建议的各种变体
import cv2
print (cv2.__version__)
camera = cv2.VideoCapture(0) #tried -1,0,1,...
if camera.isOpened(): # isOpened is always False for pip version
print ("successfully opened Webcam")
else:
print ("Webcam error")
success,img = camera.read() # success is always False for pip version
print (success,img.shape)
camera.release()
我尝试了各种网络摄像头,并根据网络上的建议对代码进行了各种更改。