Python OpenCV - 更新实时网络摄像头视图的摄像头索引

时间:2016-06-28 09:15:10

标签: python opencv webcam

我正在查看网络摄像头相机直播。我想将其合并到一个Tkinter GUI中,并有一个下拉选项,允许用户随时更改摄像头索引,从而更改正在使用的网络摄像头。 如何实现这一目标?

示例代码:

import cv2

def show_webcam(mirror=False):
    cam = cv2.VideoCapture(0)
    while True:
        ret_val, img = cam.read()
        if mirror: 
            img = cv2.flip(img, 1)
        cv2.imshow('my webcam', img)
        if cv2.waitKey(1) == 27: 
            break  # esc to quit
    cv2.destroyAllWindows()

def main():
    show_webcam(mirror=True)

if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:2)

要在运行时更改摄像头,您需要更改的是您传入的索引 cv2.VideoCapture(index)

了解您将为您的应用和3个相机使用多少相机,您可以通过将索引更改为0或1或2来更改它。

再添加一个参数作为索引 show_webcam(mirror=True, index)

在功能方面你可以使用这个

def show_webcam(mirror=False,index): cam = cv2.VideoCapture(index) while True: ret_val, img = cam.read() if mirror: img = cv2.flip(img, 1) cv2.imshow('my webcam', img) if cv2.waitKey(1) == 27: break # esc to quit cv2.destroyAllWindows()