在raspberry pi上从Webcam获取Python输入?

syk*_*435 5 python webcam opencv input raspberry-pi

我正在使用sony ps3眼睛作为我正在编写的OpenCL python程序的pi上的网络摄像头输入,但出于某种原因无论我做什么,pi python编译器都没有访问网络摄像头.然而,使用相同的网络摄像头在我的笔记本电脑上运行相同的代码运行完美.然后我检查了我的pi上的usb设备,它说"sony playstation 3 eye cam"在usb端口6上.当使用pi上的"运动"包时,我能够完美地使用相机作为输入.所以我的问题再次是python编译器没有在pi上与我的网络摄像头通信.请考虑一下,告诉我如何解决它; 我根本想不出什么是错的.这是我使用的示例代码,请帮帮我.非常感谢你.

import cv2.cv as cv

#cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
camera_index = 0

capture = cv.CaptureFromCAM(camera_index)
while not capture:
  print "error opening capture device, correction attempt"

while True:
  frame = cv.QueryFrame(capture)
  if frame is None:
    print "fail with putting in frame"

  else:
    c = cv.WaitKey(100)
    print 'capturing!'
    cv.SaveImage("pictest.png", frame)
Run Code Online (Sandbox Code Playgroud)

syk*_*435 1

我从未更新过这个,但我的解决方案是:我使用 Raspberry Pi 的 Motion Package 来接收图像(因为 Sony Ps3 EyeToy Camera 没有编写与 Pi 兼容的驱动程序),然后使用 OpenCV 来分析每个图像。在每个图像进入时执行此操作(每秒多次)与通过 OpenCV 分析视频相同。此实现非常适合我的需求,并且我使用其他 Bash 工具在一段时间后删除旧图像文件,因此我的记忆是没有不必要的填充。