2011-05-30 9 views
1

Je commence un projet dans lequel je dois créer un outil d'annotation personnalisé pour les films et les vidéos. Une personne (pas techniquement intéressée) devra ouvrir une interface graphique que je crée, ouvrir un fichier vidéo ou un répertoire d'images résultant du découpage d'un fichier vidéo, puis utiliser une fenêtre (un peu comme le lecteur QuickTime ou VLC, etc., c'est-à-dire une fenêtre vidéo avec une simple barre coulissante permettant à l'utilisateur de se déplacer d'avant en arrière à volonté). Dans cette fenêtre, l'utilisateur pourra cliquer sur des points intéressants, leur donner des étiquettes sémantiques et des méta-données (comme si le point est caché par quelque chose d'autre dans l'image), et ensuite "appuyer sur" et commencer un tracker. Le traqueur suivra les points, image par image et l'utilisateur pourra appuyer sur la barre d'espace ou sur quelque chose pour avancer et reculer. L'idée est de permettre à l'humain d'intervenir à chaque fois que le tracker est confus, mais nous espérons que le tracker fonctionne suffisamment bien pour que les humains n'aient pas besoin d'étiqueter chaque image dans une séquence vidéo de plusieurs milliers. Je prévois de tout faire en Python, (a) parce que c'est le langage que je connais le mieux pour la programmation non-triviale, (b) j'ai un accès facile à OpenCV Python (pour les algorithmes de traitement d'image) et PyQt qui semble avoir une boîte à outils GUI assez puissante pour ce que je veux faire et (c) d'autres aspects de ce même projet sont en cours de développement par d'autres programmeurs pour travailler en Python et avec les bases de données MySQL. Python semble juste le choix naturel pour le rationaliser tous ensemble. Je suis expérimenté en utilisant des algorithmes de vision par ordinateur pour le suivi, et je suis raisonnablement sûr que je peux comprendre des dispositifs simples PyQt GUI pour faire des points cliquables, des boutons, entrer des données de texte simples, etc Cependant, la partie que je suis la difficulté à comprendre est de savoir comment construire ma propre fenêtre vidéo avec une barre coulissante qui soit avance en fonction du numéro d'une image ou bien manipule un fichier vidéo. Puis-je utiliser d'autres lecteurs vidéo comme VLC dans PyQt lors de la programmation en Python? Toutes les suggestions ou les liens qui décrivent des interfaces graphiques de montage de films/vidéos similaires et comment les développer à la maison seraient grandement appréciés.Traitement vidéo/film interactif avec PyQT/OpenCV

Répondre

1

Qt (PyQt) a un bon support multimédia via le module Phonon. Vous pouvez facilement utiliser ce module pour atteindre la fenêtre vidéo, il peut fournir un lecteur vidéo facile à utiliser et vous pouvez obtenir la position de jeu etc.

+0

Merci! J'ai trouvé quelques exemples de ce module et je pense que cela fonctionnera très bien. – ely

+0

AH, Il semble que j'ai parlé trop tôt. Apparemment, sous Ubuntu, il y a de sérieux problèmes avec le module Phonon. J'ai téléchargé et installé toutes les bibliothèques Phonon pertinentes, telles que libphonon4, libphonon-dev, phonon-dbg, etc. et j'ai installé PyQt4 et cela fonctionne correctement par rapport aux autres modules. Cependant, j'ai toujours une erreur d'importation, aucun module nommé 'phonon' n'existe. Des idées sur comment faire fonctionner cela dans Ubuntu? – ely

+0

Je pense que vous devez installer le paquet python-qt4-phonon. – utdemir