gpt4 book ai didi

python - 为什么我不能使用OPENCV VideoCapture从正面平板相机读取视频流?

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:49 25 4
gpt4 key购买 nike

为了尽量减少这个项目推出过程中出现的问题,我选择了使用Docker over Debian over OracleVM VirtualBox。在这种特定情况下,Virtual Box位于Windows 8之上。
我试图通过OpenCV访问的摄像头是戴尔在Venue 11 Pro平板电脑上提供的OmniVision OV2722
我使用此资源的路径如下:
一旦Debian虚拟机启动,我就会查看devices > webcams菜单上的网络摄像头。
启动Docker容器解析带有--device=/dev/video0:/dev/video0标志的网络摄像头。
在容器中运行我的脚本。
结果是:
构造函数不返回空指针。
当使用VideoCapture检查方法时,相机打开
尝试使用cap.isOpened()获取下一帧时,脚本返回cap.read()
select timeout之后,将显示以下错误:
OpenCV错误:断言失败(buf.data&&buuf.idContinuos())
解码文件
/riit/icv tmp/opencv-2.4.11/modules/highui/src/loadsave.cpp,第307行
回溯(最近的最后一次调用):文件“main.py,第285行,in
ret,frame=cap.read()cv2.错误:
/根目录/ocv tmp/opencv-2.4.11/modules/hihgui/src/loadsave.coo:307:
错误:(-215)函数imdecode中的buf.data&&buf.isContinuos()_
到目前为止我试过的事情:
使用select timeout方法调整图像大小:gotcv2.VideoCapture.set()
从docker linux主机和docker linux容器中删除并插入内核模块HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP,设置UVCVIDEO--nodrop=1标志。
用USB摄像头运行相同的脚本(Logitech C920):它成功了!
On--timeout=10000已经尝试了-1、0、1、2、3个索引:只有-1和0使我转到根错误。1、2和3导致执行时出现致命错误。
尝试运行具有管理权限的虚拟机。
更多信息:
主机:Window 8.1 Pro,2GB,Intel Atom Z3775
嘉宾:Debian 91GB
DOCKER图片:bamos/openface
我在这里使用的代码是相当标准的,顺便说一下,它是基于OpenCV文档的

 cap = cv2.VideoCapture(0)
if cap is not None and not cap.isOpened():
print 'Found issues on open the camera'
exit()

ret, frame = cap.read()

好吧,我不知道我是否足够具体。如果你需要更多的信息,请告诉我。提前感谢大家的支持。
更新:
正如@marian提到的,正确的 cap = cv2.VideoCapture()语句是 if
在我已经做的事情上,我刚刚完成了Windows平板电脑上的网络摄像头驱动程序的更新。

最佳答案

而不是

if cap is not None and not cap.isOpened():

使用
if cap is None or not cap.isOpened():

关于python - 为什么我不能使用OPENCV VideoCapture从正面平板相机读取视频流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53622936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com