Domanda

Sto cercando un framework Python che mi consentirà di riprodurre video e di disegnare su quel video (ai fini dell'etichettatura).

Ho provato Pyglet, ma questo non sembra funzionare particolarmente bene - quando si disegna su un video esistente, c'è uno sfarfallio (anche con doppio buffering e tutta quella roba buona), e non sembra che essere un modo per ottenere l'indice dei fotogrammi nel video durante la richiamata per fotogramma (solo tempo trascorso dall'ultimo fotogramma).

È stato utile?

Soluzione

Prova un wrapper Python per OpenCV come ctypes-opencv . Il riferimento dell'API C è qui e il wrapper è molto vicino (vedere i documenti per eventuali modifiche).

L'ho usato per disegnare su video senza sfarfallio, quindi non dovresti avere problemi con questo.

Uno schema approssimativo delle chiamate necessarie:

  • Carica video con cvCreateFileCapture, carica il carattere con cvFont.
  • Prendi il frame con cvQueryFrame, incrementa il contatore dei frame.
  • Disegna sulla cornice con cvPutText, cvEllipse, ecc. ecc.
  • Mostra all'utente con cvShowImage.

Altri suggerimenti

Qt (PyQt) ha Phonon, che potrebbe dare una mano. PyQt è disponibile come GPL o payware. (Qt ha anche LGPL, ma i wrapper PyQt no)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top