opencv + threading как запустить видео с разных камер в отдельных потоках
использую библиотеку opencv, пытаюсь подключиться одновременно к 2м камерам и получать с них видео, с каждой камеры в отдельном потоке, многопоточность использую для того, что бы в дальнейшем обрабатывать каждое видео в отдельном потоке. В данный момент столкнулся с проблемой: видео с обоих камер воспроизводится, но его показывает в одном окне(происходит хаотичное переключение между камерами). Как мне это исправить и правильно ли в данный момент работают потоки? Код привожу ниже :
import numpy as np
import cv2
from threading import Thread
arg1=0
arg2=1
def show_image(arg):
cap = cv2.VideoCapture(arg)
while(True):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
t1=Thread(target=show_image,args=(arg1,))
t2=Thread(target=show_image,args=(arg2,))
t1.start()
t2.start()
t1.join()
t2.join()