def do_detect():
    global pixels
    pixels = []
    set_all(b_color)
    idx = 0
    for i in interfaces:
        for a in xrange(min_addr, max_addr):
            px = (i, a)
            print "Testing: ", addr(px),
            acabsl_rconfig.set_lamp(px, f_color)
            time.sleep(.05)
            for x in range(3):
                ret, frame = cap.read()
            if ret != True:
                print "Image error"
                exit(1)
            pos = find_pixel(True)
            if pos != (0, 0):
                pixels.append([px, pos])
                print "@", pos
            else:
                print "<notfound>"
            acabsl_rconfig.set_lamp(px, b_color)
            if cv2.waitKey(1) & 0xff == 27:  # Escape key
                cv2.destroyAllWindows()
                cap.release()
                break
            elif cv2.waitKey(1) & 0xff == 32:  # Space
                print "SkipIF"
                break
Beispiel #2
0
def do_detect():
    global pixels
    pixels=[]
    set_all(b_color)
    idx=0
    for i in interfaces:
        for a in xrange(min_addr,max_addr):
            px=(i,a)
            print "Testing: ",addr(px),
            acabsl_rconfig.set_lamp(px,f_color)
            time.sleep(.05)
            for x in range(3):
                ret, frame = cap.read()
            if ret != True:
                print "Image error"
                exit(1)
            pos=find_pixel(True)
            if pos!=(0,0):
                pixels.append([px,pos])
                print "@",pos
            else:
                print "<notfound>"
            acabsl_rconfig.set_lamp(px,b_color)
            if cv2.waitKey(1)&0xff == 27: # Escape key
                cv2.destroyAllWindows()
                cap.release()
                break
Beispiel #3
0
def move_point(event,x,y,flags,param):
    global dragstate,pixels,grid,b_color,f_color
    if pixels == None:
        return
    p0=(x,y)
    if event == cv2.EVENT_LBUTTONDOWN:
        dragstate=find_closest_pixel_pos(p0,pixels)
        print "click @",p0,"dragging ",dragstate,addr(pixels[dragstate][0])
        set_all(b_color)
        acabsl_rconfig.set_lamp(pixels[dragstate][0], f_color)
    if dragstate != None:
        pixels[dragstate][1]=p0
    if event == cv2.EVENT_LBUTTONUP:
        print "dragged to: ",p0
        dragstate=None
        newgrid=gridify(pixels)
        if(grid!=newgrid):
            grid=newgrid
            print "Grid changed!"
            send_config(grid)
def move_point(event, x, y, flags, param):
    global dragstate, pixels, grid, b_color, f_color
    if pixels == None:
        return
    p0 = (x, y)
    if event == cv2.EVENT_LBUTTONDOWN:
        dragstate = find_closest_pixel_pos(p0, pixels)
        print "click @", p0, "dragging ", dragstate, addr(pixels[dragstate][0])
        set_all(b_color)
        acabsl_rconfig.set_lamp(pixels[dragstate][0], f_color)
    if dragstate != None:
        pixels[dragstate][1] = p0
    if event == cv2.EVENT_LBUTTONUP:
        print "dragged to: ", p0
        dragstate = None
        newgrid = gridify(pixels)
        if (grid != newgrid):
            grid = newgrid
            print "Grid changed!"
            send_config(grid)
Beispiel #5
0
def pixel(x):
    set_all(b_color)
    i=interfaces[cv2.getTrackbarPos('pixel_if','ctrl')]
    px=cv2.getTrackbarPos('pixel_addr','ctrl')
    acabsl_rconfig.set_lamp((i, px),f_color)
    print addr((i,px))
Beispiel #6
0
def set_all(color):
    global interfaces
    for i in interfaces:
        # 0 -> all lamps of interface i
        acabsl_rconfig.set_lamp((i, 0),color)
def pixel(x):
    set_all(b_color)
    i = interfaces[cv2.getTrackbarPos('pixel_if', 'ctrl')]
    px = cv2.getTrackbarPos('pixel_addr', 'ctrl')
    acabsl_rconfig.set_lamp((i, px), f_color)
    print addr((i, px))
def set_all(color):
    global interfaces
    for i in interfaces:
        # 0 -> all lamps of interface i
        acabsl_rconfig.set_lamp((i, 0), color)