我正在寻找一种方法将摄像头集成到我的Python程序中。使用Python/Linux阅读摄像头的选项
我在Raspberry Pi Model A OC'd上运行到900mHz,所以解决方案需要与ARM兼容并且(希望是)轻量级。
我见过的大多数帖子都推荐使用OpenCV模块来读取摄像头,但是我无法获得任何东西,只能从我的摄像头看到黑框。我认为OpenCV与我的摄像头不兼容。但是,其他可用于Linux的网络摄像头应用程序都可以检测并显示来自我的网络摄像头的馈送。
我想知道是否有任何其他轻量级或简单的方法从我的摄像头使用python捕获。也许我可以直接与在/ dev /下为我的摄像头提供的video0设备进行交互?我愿意接受任何建议。因为我现在正在做的事情不起作用。
感谢
(的要求):
输出v4l2-ctl --all
的
:
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : UVC Camera (046d:081b)
Bus info : usb-bcm2708_usb-1.2
Driver version: 3.2.27
Capabilities : 0x04000001
Video Capture
Streaming
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV'
Field : None
Bytes per Line: 1280
Size Image : 614400
Colorspace : SRGB
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 640, Height 480
Default : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 1/1
Video input : 0 (Camera 1: ok)
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
这是我使用的代码片段:
import cv
cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
break
cv.DestroyWindow("camera")
谢谢您帮帮我!
请张贴'用v412-CTL --all'和你现在正在使用一些代码。 – gertvdijk
我已将它添加到我的开始帖子。谢谢! –