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()

Ответы (0 шт):