从2个摄像头捕获(OpenCV,Python)

use*_*684 5 python camera opencv

所以我试图从openCV中的两个摄像头捕获(python和windows 7).我从一台相机中捕捉得很好,你也会注意到我正在为图像做一些时髦的东西,但这并不重要.这是尝试使用两个的代码

import cv
import time
cv.NamedWindow("camera", 1)
cv.NamedWindow("camera2", 1)
capture = cv.CaptureFromCAM(0)
capture2 = cv.CaptureFromCAM(1)
while True:
    img = cv.GetMat(cv.QueryFrame(capture))
    img2 = cv.GetMat(cv.QueryFrame(capture2))
    dst_image = cv.CloneMat(img)
    dst_image2 = cv.CloneMat(img2)
    cv.ConvertScale(img, dst_image, 255, -59745.0)
    cv.ConvertScale(img2, dst_image2, 255, -59745.0)
    cv.ShowImage("camera", dst_image)
    cv.ShowImage("camera2", dst_image2)
    if cv.WaitKey(10) == 27:
        cv.DestroyWindow("camera")
        cv.DestroyWindow("camera2")
        break
Run Code Online (Sandbox Code Playgroud)

相当简单.但它不会起作用.在尝试从第二个摄像头(循环中的第二行代码)创建矩阵时,我被告知捕获为空.我使用的相机是罗技,是相同的型号.

旁注:我也找不到计算连接在python中的相机的命令,所以如果有人可以推荐我,我会非常感激.--Ashley

编辑:知道窗口经常提示我选择我想要使用的相机可能也很有用.我似乎无法避免这种行为.此外,我下载了一些安全软件,一次成功运行两个摄像头.它不是开源或类似的东西.很明显,这是可能的.

Vis*_*ath 0

如果您使用 Windows 进行编码,为什么不尝试 VideoCapture 模块。它非常易于使用,并提供 PIL 图像作为输出。您稍后可以将其更改为二维数组。