J'écris un simple programme de détection de mouvement, mais je veux qu'il soit multi-plateforme donc im utilisant python et la bibliothèque pyglet, car il fournit un moyen simple de charger des vidéos dans différents formats (spécialement wmv et mpeg). Jusqu'à présent, j'ai le code ci-dessous qui charge le film et le joue dans une fenêtre. Maintenant, j'ai besoin de: 1) saisir le cadre à l'instant t et t-1 2) faire une soustraction pour voir quels pixels sont actifs pour la détection de mouvement.calcul de mouvement de la vidéo en utilisant pyglet en python
des idées sur la façon de saisir des cadres et de sauter des cadres et est-il possible de mettre les valeurs de pixels dans une matrice en numpy ou quelque chose directement à partir de pyglet? ou devrait chercher à utiliser autre chose que pyglet?
grâce kuaywai
import pyglet
import sys
window = pyglet.window.Window(resizable=True)
window.set_minimum_size(320,200)
window.set_caption('Motion detect 1.0')
video_intro = pyglet.resource.media('movie1.wmv')
player = pyglet.media.Player()
player.queue(video_intro)
print 'calculating movie size...'
if not player.source or not player.source.video_format:
sys.exit
myWidth = player.source.video_format.width
myHeight = player.source.video_format.height
if player.source.video_format.sample_aspect > 1:
myWidth *= player.source.video_format.sample_aspect
elif player.source.video_format.sample_aspect < 1:
myHeight /= player.source.video_format.sample_aspect
print 'its size is %d,%d' % (myWidth,myHeight)
player.play()
@window.event
def on_draw():
window.clear()
(w,h) = window.get_size()
player.get_texture().blit(0, h-myHeight,
width=myWidth,
height=myHeight)
pyglet.app.run()
Avez-vous regardé http://stackoverflow.com/questions/2348151/webcam-motion-tracking-with-python? – MattH