можем ли мы читать несколько кадров одновременно, используя opencv python - PullRequest
0 голосов
/ 26 марта 2020

Я работаю над обнаружением лица записанного видео, и оно работает нормально, за исключением случаев, когда видео высокого качества, поэтому я хочу повысить производительность с помощью многопоточности. так как я могу прочитать несколько кадров одновременно. это только часть моего кода, которая изменяет размеры, обнаруживает и рисует прямоугольник для нескольких кадров одновременно, но очевидно, что считывание кадров занимает слишком много времени, поэтому мне нужно, чтобы последний выполнялся параллельно. какие-либо предложения?

for _ in range(tot_cyc): # tot_cyc : number of total cycles to read all frames 
frames = np.empty((proc_fr, frameHeight, frameWidth, 3), np.dtype('uint8')) # proc_fr : number of frames to be processed in parallel
for _ in range(proc_fr):
    frames[_] = read_frame()
with concurrent.futures.ThreadPoolExecutor() as executor:
    x1 = executor.submit(detect_resize_draw, frames[0])
    x2 = executor.submit(detect_resize_draw, frames[1])
    resized[0] = x1.result()
    resized[1] = x2.result()
for resize in resized:
    cv2.imshow('video_test', resize)
    if cv2.waitKey(1) == 13:
        exit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...