Я просматриваю веб-камеру в реальном времени. Я хотел бы включить это в графический интерфейс Tkinter и иметь раскрывающийся список, который позволяет изменять индекс камеры, и, следовательно, веб-камеру, которая используется, на лету. Как это можно достичь?Python OpenCV - Обновить индекс камеры в реальном времени веб-камеры
Пример кода:
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()
Я понимаю, что нужно будет сделать - но как я могу сказать программе, чтобы прекратить делать функцию show_webcam() и инициализировать ча mera смотреть под другим индексом? – Samuel
Я создал то же самое под pyqt5. Я сделал это, я объявил камеру, чтобы быть self.cam доступным в любом месте класса. поэтому, когда я изменяю раскрывающийся список, чтобы выбрать новую камеру, я отправляю индекс вниз в качестве входа в функцию show_webcam. Я использую событие on change в раскрывающемся списке, чтобы вывести новый индекс и передать его функции show_webcam. –
Это изменяет новую камеру, но до этого я выпустил предыдущую камеру self.cam.release(). –