Reddit – computervision – Alternativa para imshow() + waitKey() para depuração em tempo real no OpenCV
On Dezembro 31, 2021 by adminFoi muito tempo desde que eu usei o OpenCV, mas eu me lembro de usar waitKey(1)
para exibir nossos frames em tempo real. Atrasos de um milissegundo não devem fazer uma diferença significativa para a maioria dos processamentos – mesmo que você esteja processando a 100FPS, você provavelmente só quer imitar a cada poucos quadros de qualquer maneira. Não importa o quê, seu programa tem que processar eventos que foram enfileirados pelo sistema operacional em algum momento para responder à entrada. waitKey
é a forma do OpenCV se certificar de que este processamento de eventos ocorra, mesmo que o seu aplicativo esteja, de outra forma, com um único fio. Se você não estiver movendo o seu mouse, a quantidade de eventos a serem processados será trivial. Alternativamente, se você mover para Qt et. al., você provavelmente vai querer fazer todo o seu processamento de visão em uma thread separada de qualquer maneira. E se você estiver usando todos os núcleos para seu processamento, você precisará trocar de contexto para um tópico de tratamento de eventos com bastante frequência se você não quiser que seu GUI congele, então você estaria incorrendo no mesmo custo como se você estivesse usando o waitKey. Definitivamente vá para Qt/wx se você acha que vai precisar de algum tipo de interatividade, mas não é uma cura – tudo para o problema da velocidade.
Deixe uma resposta