【问题标题】:How capture image from several DSLR camera via USB use Python?如何通过 USB 使用 Python 从多个 DSLR 相机捕获图像?
【发布时间】:2017-12-01 02:27:24
【问题描述】:

我需要通过 USB 使用 Python 从多个 (10-20) DSLR(Canon) 同步和捕获图像,但我不知道如何。

我用SparkoCam 和这个 python 代码得到了它,但它只适用于一台相机

import cv2
import numpy as np
cap = cv2.VideoCapture(1)
while True:
    ret,img=cap.read()
    cv2.imshow('video output',img)
    k=cv2.waitKey(10)& 0xff
    if k==27:
        break
cap.release()
cv2.destroyAllWindows()

有谁知道如何从数码单反相机捕捉图像? opencv、sdk?

【问题讨论】:

  • 我不确定 OpenCV 是否是在这种情况下用于图像采集的理想库。您是否考虑过搜索一些专门针对控制佳能相机的库?

标签: opencv camera video-capture capture canon-sdk


【解决方案1】:

如果您坚持为此应用程序使用 opencv,只需修改代码以使用多个 Videocapture 对象即可

import cv2
import numpy as np
cap1 = cv2.VideoCapture(1)
cap2 = cv2.VideoCapture(2) #you can check what integer code the next camera uses
cap2 = cv2.VideoCapture(2) #you can check what integer code the next camera uses
#and so on for other cameras
#You could also make this more convenient and more readable by using an array of videocapture objects

while True:
    ret1,img1=cap1.read()
    cv2.imshow('video output1',img1)
    ret2,img2=cap2.read()
    cv2.imshow('video output2',img2)
    #and so on for the other cameras
    k=cv2.waitKey(10)& 0xff
    if k==27:
        break
cap1.release()
cap2.release()
#and so on for the other cameras
cv2.destroyAllWindows()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    相关资源
    最近更新 更多