waitKey(1), любая задержка между чтением приводит к накоплению буфера и проблемам с последующим чтением. workaround - читать или хотя бы cap.grab() делать постоянно, без перерывов. некоторые делают в соседнем потоке (я иногда)
так, а else где?)
а вот про cap.grab - первый раз слышу если честно а про потоки можно подробней? меня там правда в связке с пикьютом интересует больше
.grab - это как read, только без .retrieve. то есть считать очередь, но не забирать кадр. на случай если нужно пропустить. если не пропускать, то начинаются проблемы с чтением с видеопотока. чтобы их не было, можно читать в отдельном потоке ОС, и с него забирать по мере надобности. вот тут описано более-менее https://stackoverflow.com/questions/58293187/opencv-real-time-streaming-video-capture-is-slow-how-to-drop-frames-or-get-sync
о! пасибо! проштудирую
Обсуждают сегодня