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

Python OpenCV - Update camera index of live webcam view

我正在查看网络摄像头的实时画面。我想将它合并到一个 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()

要在 运行 时间更换相机,您只需更改传入的索引即可 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()