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
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