예제 #1
0
파일: goz.py 프로젝트: kunguz/oynak
def kisibul():
    cv.NamedWindow('HELIUM3D', cv.CV_WINDOW_AUTOSIZE)
    genislik  = 640
    yukseklik = 480
    kamera    = cv.CaptureFromCAM(0)
    cv.SetCaptureProperty(kamera,cv.CV_CAP_PROP_FRAME_WIDTH, genislik)
    cv.SetCaptureProperty(kamera,cv.CV_CAP_PROP_FRAME_HEIGHT, yukseklik)
    depo      = cv.Load('./haarcascade_mcs_eyepair_small.xml')
    t1        = time.time()
    t2        = time.time()
    konum     = 0
    while True:
        resim = cv.QueryFrame(kamera)
        cv.Flip(resim,None,1)
        resim,konum = gozbul(resim,depo,konum)
        cv.ShowImage('HELIUM3D', resim)
        # Düzlem 1500 ile 3500 arasında iken projeksiyon merceğinin sınırları içerisinde kalabiliyor.
        # Aşağıda verilen fonksiyon sadece 1 metre uzaklıktaki bir izleyici için geçerlidir.
#        duzlemkonum = int(6.3180064598*konum-53.364393164)
        duzlemkonum = int(6.1380064598*konum-30)
        print duzlemkonum
        # Sağ ve solda uzay sınırlandırılıyor. Görüş alanı kısıtlandı.
        if duzlemkonum < 1000:
           duzlemkonum = 1000
        elif duzlemkonum > 3000:
           duzlemkonum = 3000
        t2    = time.time()
        if t2-t1 > 0.5:
            t1 = time.time()
            gonder.gonder(str(duzlemkonum)) 
        if cv.WaitKey(10) == 0x1b:
            sys.exit()
    return True
예제 #2
0
파일: osman.py 프로젝트: kunguz/osman
def kisibul():
    cv.NamedWindow('OSMAN', cv.CV_WINDOW_AUTOSIZE)
    cv.NamedWindow('SOL', cv.CV_WINDOW_AUTOSIZE)
    cv.NamedWindow('SAG', cv.CV_WINDOW_AUTOSIZE)
    yesil     = '\033[92m'
    son       = '\033[0m'
    genislik  = 640
    yukseklik = 480
    ysinir    = 640
    asinir    = 0
    sabit     = 0
    kamera    = cv.CaptureFromCAM(0)
    cv.SetCaptureProperty(kamera,cv.CV_CAP_PROP_FRAME_WIDTH, genislik)
    cv.SetCaptureProperty(kamera,cv.CV_CAP_PROP_FRAME_HEIGHT, yukseklik)
    #depo      = cv.Load('/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml')
    depo      = cv.Load('./haarcascade_mcs_eyepair_small.xml')
    bayrak    = 0
    eskikx    = 0
    eskiky    = 0
    konumx    = 0
    konumy    = 0
    gonder.baglantiac()
    while True:
        if cv.WaitKey(10) == 27:
            print 'Çıkılıyor'
            gonder.baglantiyikapat()
            sys.exit()
        resim = cv.QueryFrame(kamera)
        cv.Flip(resim,None,1)
        bayrak = 0
        resim,konumx,konumy = gozbul(resim,depo,konumx,konumy)
        solresim,sagresim   = gozicinresimbul(konumx,konumy,genislik,yukseklik)
        if abs(eskikx-konumx) < 5 and abs(eskiky-konumy) < 5:
           konumx = eskikx
           konumy = eskiky
        else:
           bayrak = 1
        eskikx              = konumx
        eskiky              = konumy
        cv.ShowImage('OSMAN', resim)
        cv.ShowImage('SOL', solresim)
        cv.ShowImage('SAG', sagresim)
        if bayrak == 1:
            if konumx < 10:
	            gonder.gonder('x000'+str(konumx))
            if konumx < 100 and konumx > 10:
	            gonder.gonder('x00'+str(konumx))
     	    if konumx < 1000 and konumx > 100:
                gonder.gonder('x0'+str(konumx))
            if konumx < 10000 and konumx > 1000:
                gonder.gonder('x'+str(konumx))
     	    if konumy < 10:
	            gonder.gonder('y000'+str(konumy))
    	    if konumy < 100 and konumy > 10:
                gonder.gonder('y00'+str(konumy))
    	    if konumy < 1000 and konumy > 100:
                gonder.gonder('y0'+str(konumy))
    	    if konumy < 10000 and konumy > 1000:
                gonder.gonder('y'+str(konumy))               
            #print gonder.oku()
            #print 'konumx:',str(konumx),' konumy:',str(konumy)
    return True