Pergunta

Estou procurando uma estrutura Python que me permitirá reproduzir vídeo e desenhar esse vídeo (para fins de rotulagem).

Eu tentei pigleto, mas isso não parece funcionar particularmente bem - ao desenhar em um vídeo existente, há pisca (mesmo com buffer duplo e tudo isso), e não parece haver uma maneira Para obter o índice de quadros no vídeo durante o retorno de chamada por quadro (apenas o tempo decorrido desde o último quadro).

Foi útil?

Solução

Experimente um invólucro python para OpenCV, como Ctypes-Opencv. A referência da API C é aqui, e o invólucro está muito próximo (consulte DocStrings para quaisquer alterações).

Eu o usei para desenhar em vídeo sem piscar, então você não deve ter problemas com isso.

Um esboço aproximado das chamadas que você precisa:

  • Carregue vídeo com CVCreateFilecApture, carregue a fonte com CVFont.
  • Pegue o quadro com cvQueryFrame, incremente o seu contador de quadros.
  • Desenhe o quadro com CVputText, cvellipse, etc.
  • Exiba para usuário com CVshowImage.

Outras dicas

O QT (PYQT) possui um phonon, o que pode ajudar. O PYQT está disponível como GPL ou Payware. (QT também tem LGPL, mas os invólucros pyqt não têm)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top