Example #1
0
 cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE)
 capture = cvCreateFileCapture(__test__)
 loop = True
 while(loop):
     frame = cvQueryFrame(capture)
     if (frame == None): break
     gray = cvCreateImage ((frame.width, frame.height), 8, 1)   
     cvCvtColor( frame, gray, CV_BGR2GRAY )                
     ipl = Ipl2PIL(gray)
     ipl = ipl.resize((int(frame.width/__scale__),int(frame.height/__scale__)), 
                      Image.ANTIALIAS)
     
     if frame_no > 25:
         curr = np.array(ipl)        
         if prev != None: 
             u, v = lk.lk(prev, curr, track_x, track_y, win)              
             print u, v
             print np.floor(u), np.floor(v)
             track_x += np.floor(u)
             track_y += np.floor(v)
         prev = curr            
     
     ipl2 = PIL2Ipl(ipl)
     cvCircle(ipl2, (int(track_x), int(track_y)), 
              2, CV_RGB(255,255,255), 0, CV_AA, 0 )   
     cvShowImage("Example2", ipl2)
     
     frame_no += 1
     
     char = cvWaitKey(33)
     if (char != -1):
Example #2
0
    return 250 - y


while True:
    if math.fmod(frame_no, 5) == 0:
        pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, sz[0], sz[1])
        pb = pb.get_from_drawable(w, w.get_colormap(), 0, 0, 0, 0, sz[0],
                                  sz[1])
        width, height = pb.get_width(), pb.get_height()
        im = PIL.Image.fromstring("RGB", (width, height), pb.get_pixels())
        im = im.crop(box)
        im = ImageOps.grayscale(im)
        im = im.resize((250, 250), PIL.Image.ANTIALIAS)
        cv_img = PIL2Ipl(im)
        if prev != None:
            res = lk.lk(g, prev, im, track_x, track_y, 12)
            for (i, j, u, v) in res:
                try:
                    cvLine(cv_img, (i, j), (i + int(u), j + int(v)), color)
                    cvCircle(cv_img, (i + int(u), j + int(v)), 2, color)
                except Exception, e:
                    pass

        prev = im.copy()

        cvShowImage("fps", cv_img)
        '''
        if not fwd: 
            cmd = Command(2, "test")
            fwd = True
            cmd.start()
Example #3
0
    capture = cvCreateFileCapture(__test__)
    loop = True
    while (loop):
        frame = cvQueryFrame(capture)
        if (frame == None): break
        gray = cvCreateImage((frame.width, frame.height), 8, 1)
        cvCvtColor(frame, gray, CV_BGR2GRAY)
        ipl = Ipl2PIL(gray)
        ipl = ipl.resize(
            (int(frame.width / __scale__), int(frame.height / __scale__)),
            Image.ANTIALIAS)

        if frame_no > 25:
            curr = np.array(ipl)
            if prev != None:
                u, v = lk.lk(prev, curr, track_x, track_y, win)
                print u, v
                print np.floor(u), np.floor(v)
                track_x += np.floor(u)
                track_y += np.floor(v)
            prev = curr

        ipl2 = PIL2Ipl(ipl)
        cvCircle(ipl2, (int(track_x), int(track_y)), 2, CV_RGB(255, 255, 255),
                 0, CV_AA, 0)
        cvShowImage("Example2", ipl2)

        frame_no += 1

        char = cvWaitKey(33)
        if (char != -1):
Example #4
0
 def compute_flow(self):
     # lucas kanade
     #[http://ascratchpad.blogspot.com/2011/10/optical-flow-lucas-kanade-in-python.html]
     # FIXME quite slow to compute, ~3 sec per frame
     return lk.lk(self.im1,self.im2,self.win)
     return (u,v)
Example #5
0
File: fpslk.py Project: chyojn/kod
color = (100,100,255)

def flip(y): return 250-y

while True:
    if math.fmod(frame_no,5) == 0:
        pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
        pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
        width,height = pb.get_width(),pb.get_height()
        im = PIL.Image.fromstring("RGB",(width,height),pb.get_pixels())
        im = im.crop(box)
        im = ImageOps.grayscale(im)
        im = im.resize((250,250), PIL.Image.ANTIALIAS)
        cv_img = PIL2Ipl(im)
        if prev != None: 
            res = lk.lk(g, prev, im, track_x, track_y, 12) 
            for (i,j,u,v) in res:
                try:
                    cvLine(cv_img,(i,j),(i+int(u),j+int(v)),color)
                    cvCircle(cv_img,(i+int(u),j+int(v)),2,color)
                except Exception, e: pass
                
        prev = im.copy()

        cvShowImage("fps", cv_img)    
        '''
        if not fwd: 
            cmd = Command(2, "test")
            fwd = True
            cmd.start()
        '''