« Webcam avec delai » : différence entre les versions

De Wikilipo
Aller à la navigation Aller à la recherche
(Page créée avec « Ce programme capture les images de la webcam, les garde en mémoire et les montre avec un délai. Si le délai est long, il occupe beaucoup de mémoire. <pre> import cv, ti… »)
 
(Aucune différence)

Dernière version du 23 mars 2010 à 11:10

Ce programme capture les images de la webcam, les garde en mémoire et les montre avec un délai. Si le délai est long, il occupe beaucoup de mémoire.

import cv, time

class DelayCam:

    def __init__(self):
        self.capture = cv.CaptureFromCAM(0)
        self.history = []
        cv.NamedWindow( "DelayCam", 0 )

        print( "ESC - quit the program\n")

    def run(self):
        lastsec = time.time()
        nbframes = 0
        while True:
            nbframes +=1
            now = time.time()
            #count frames per second
            if now-lastsec>1:
                print "%i frames" % nbframes
                lastsec = now
                nbframes =0
            frame = cv.QueryFrame( self.capture )
            self.history.insert(0,cv.CloneImage(frame))
            if len(self.history)>25 *2:
                frame = self.history.pop()
                cv.ShowImage( "DelayCam", frame )
                
            if cv.WaitKey(7) == 27:
                break

if __name__=="__main__":
    demo = DelayCam()
    demo.run()