Re: [pymecavideo] revision 300, opencv

[ Thread Index | Date Index | More lists.tuxfamily.org/pymecavideo Archives ]


mmm.....

Je ne comprends pas trop le décalage (NB : je n'ai pas encore regardé le code)

Par contre, j'ai regardé si, avec python et Highgui, il avait des
problèmes pour visualiser les ogv.

Voici le bout de code correspondant en pièce jointe. Vous devez
changer, bien sûr, le chemin du fichier. (ligne 17)

A priori, il n'a pas de problèmes pour lire le film. Je vais aller un
peu plus loin tout à l'heure pour savoir si il a des problèmes pour
"se déplacer" dans le film et afficher les trames.

A+

JB
# -*- coding: utf-8 -*-
import sys
import cv


if __name__ == "__main__":

    print "Press ESC to exit ..."

    # create windows
    cv.NamedWindow('Camera', cv.CV_WINDOW_AUTOSIZE)

    # create capture device
    device = 0 # assume we want first device
    #capture = cv.CaptureFromFile("/media/disk/DCIM/100MEDIA/FILE0004.MOV")
    #capture = cv.CaptureFromFile("/media/disk/DCIM/100MEDIA/FILE0003.MOV")
    capture = cv.CaptureFromFile("/home/jb/Compil/pymecavideo_svn/pymecavideo/trunk/data/video/Effet_force_magnetique.ogv")
    
    framerate = cv.GetCaptureProperty(capture,cv.CV_CAP_PROP_FPS)
    nb_image = str(cv.GetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_COUNT))
    ##test symétrie
    l = len(nb_image)
    pb = False
    if l>5 and l%2 == 0:
        pb = True
        for i in range(l/2-1):
            #print nb_image[i], nb_image[len(str(nb_image))/2+i-1]
            pb = pb * nb_image[i]==nb_image[len(str(nb_image))/2+i-1]


    if pb :
        nb_image = nb_image[0:len(str(nb_image))/2-1]
    print framerate, nb_image, pb
    


    # check if capture device is OK
    if not capture:
        print "Error opening capture device"
        sys.exit(1)

    while 1:
        # do forever

        # capture the current frame
        frame = cv.QueryFrame(capture)
        if frame is None:
            break

        # mirror
        # face detection
        # display webcam image
        cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH, 640)
        cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT, 480)
        cv.ShowImage('Camera', frame)

        # handle events
        k = cv.WaitKey(10)

        if k == 0x1b: # ESC
            print 'ESC pressed. Exiting ...'
            break


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/