imgFile3 = cv2.cvtColor(imgFile2, cv2.COLOR_BGR2RGB) #imgFile2 = cv2.imread("../data/eagle.jpg") tama=imgFile2.shape imgImported=make_image(tama[1],tama[0],tama[2]) imgFileptr,cv_img=get_iplimage_ptr(imgFile3) ipl_in2_image(imgFileptr,imgImported) rgbgr_image(imgImported) track=tr.tracking(verbose=charlador,mindist=mindist,framesttl=framesttl)#verbose=False,mindist=100 contadores=[] cc=1 for linlin in lineaDeConteo: contadores.append(lc.counter(linlin.pt1,linlin.pt2,filename=archsal,linecount=cc,fps=20)) cc+=cc #lineaDeConteo=lc.selectLine(imgFile2,ownString='Selecciona la linea de conteo',filename=archsal,linecount=1) #lineaDeConteo2=lc.selectLine(imgFile2,ownString='Selecciona la linea de conteo',filename=archsal,linecount=2) #contar=lc.counter(lineaDeConteo.pt1,lineaDeConteo.pt2,filename=archsal,linecount=1,fps=20) #contar2=lc.counter(lineaDeConteo2.pt1,lineaDeConteo2.pt2,filename=archsal,linecount=2,fps=20) while True: ret_val, imgFile2 = cam.read() frames+=1 if not ret_val:
imgImported = make_image(tama[1], tama[0], tama[2]) imgFileptr, cv_img = get_iplimage_ptr(imgFile3) ipl_in2_image(imgFileptr, imgImported) rgbgr_image(imgImported) track = tr.tracking(verbose=charlador, mindist=mindist, framesttl=framesttl) contadores = [] cc = 1 for linlin in lineaDeConteo: contadores.append( lc.counter(linlin.pt1, linlin.pt2, filename=archsal, linecount=cc, fps=20)) cc += cc print("Inicia nuevo ciclo de aforo") futrq = round_time_ceil() while ( datetime.datetime.now() < futrq ): #Este bucle se rompe cada 15 minutos cada cuarto de hora exacto. ret_val, imgFile2 = cam.read() frames += 1 if not ret_val: print( 'ERROR: no se pudo abrir la camara, se procede a reintentar por el restante de este cuarto de hora' ) print(
title ="Cuantas lineas de conteo?" msg = "Seleccione el numero de lineas de conteo que quiere poner, se recomiendan maximo 6 lineas de conteo" choices = ["1", "2", "3", "4", "5", "6"] choice = easygui.choicebox(msg, title, choices) type(choice) lineasDeConteo=int(choice) print "usted ha seleccionado ",lineasDeConteo," lineas de conteo" contadores=[] for cc in range(lineasDeConteo): sleep(1) lineaDeConteo=lc.selectLine(imgFile2,ownString='Selecciona la linea de conteo #' +str(cc+1),filename=archsal,linecount=cc+1) sleep(1) contadores.append(lc.counter(lineaDeConteo.pt1,lineaDeConteo.pt2,filename=archsal,linecount=cc+1,fps=20)) #lineaDeConteo=lc.selectLine(imgFile2,ownString='Selecciona la linea de conteo',filename=archsal,linecount=1) #lineaDeConteo2=lc.selectLine(imgFile2,ownString='Selecciona la linea de conteo',filename=archsal,linecount=2) #contar=lc.counter(lineaDeConteo.pt1,lineaDeConteo.pt2,filename=archsal,linecount=1,fps=20) #contar2=lc.counter(lineaDeConteo2.pt1,lineaDeConteo2.pt2,filename=archsal,linecount=2,fps=20) while True: ret_val, imgFile2 = cam.read() frames+=1 if not ret_val: print ("Fin del video o salida en camara, saliendo") cv2.imwrite('ultimofotogramaprocesado.jpg',imgFile3) break segframes=cam.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
msg = "Seleccione el numero de lineas de conteo que quiere poner, se recomiendan maximo 6 lineas de conteo" choices = ["1", "2", "3", "4", "5", "6"] choice = easygui.choicebox(msg, title, choices) type(choice) lineasDeConteo = int(choice) print "usted ha seleccionado ", lineasDeConteo, " lineas de conteo" contadores = [] for cc in range(lineasDeConteo): lineaDeConteo = lc.selectLine(imgFile2, ownString='Selecciona la linea de conteo #' + str(cc + 1), filename=archsal, linecount=cc + 1) archivosAEnviar.append(lineaDeConteo.archivosalidajpg) contadores.append( lc.counter(lineaDeConteo.pt1, lineaDeConteo.pt2, filename=archsal, linecount=cc + 1, fps=20)) sleep(0.5) for cnt in contadores: cnt.saveLine() archivosAEnviar.append(cnt.filename_output_line) archivosAEnviar.append(cnt.filename_output) print('Saliendo...') cam.release()
cv2.waitKey(10) """ track = tr.tracking(verbose=charlador, mindist=mindist, framesttl=framesttl) #verbose=False,mindist=100 lineaDeConteo = lc.selectLine(imgFile2, ownString='Selecciona la linea de conteo', filename=archsal, linecount=1) lineaDeConteo2 = lc.selectLine(imgFile2, ownString='Selecciona la linea de conteo', filename=archsal, linecount=2) contar = lc.counter(lineaDeConteo.pt1, lineaDeConteo.pt2, filename=archsal, linecount=1, fps=20) contar2 = lc.counter(lineaDeConteo2.pt1, lineaDeConteo2.pt2, filename=archsal, linecount=2, fps=20) while True: ret_val, imgFile2 = cam.read() frames += 1 if not ret_val: print("Fin del video o salida en camara, saliendo") cv2.imwrite('ultimofotogramaprocesado.jpg', imgFile3)