diff options
author | pgperui <pgperui@65703dd9-322d-4ecd-a169-f49c4620ba53> | 2011-03-03 03:30:56 (GMT) |
---|---|---|
committer | pgperui <pgperui@65703dd9-322d-4ecd-a169-f49c4620ba53> | 2011-03-03 03:30:56 (GMT) |
commit | 4a25a46b0c59febf4399771e09cb9b8ac73f4f3b (patch) | |
tree | 67090dffcdebe623d1fd53859a2d8250912e9e52 /Utilidades | |
parent | 6b8ffac38743c64b79a6b68e34dc009503bd4069 (diff) |
subido 3/02
git-svn-id: svn+ssh://lulu.fing.edu.uy/ens/home01/pgperui/repoSVN@135 65703dd9-322d-4ecd-a169-f49c4620ba53
Diffstat (limited to 'Utilidades')
-rw-r--r-- | Utilidades/src/Makefile | 25 | ||||
-rw-r--r-- | Utilidades/src/MakefileXO | 16 | ||||
-rw-r--r-- | Utilidades/src/Utilidades.c | 8 | ||||
-rw-r--r-- | Utilidades/src/Utilidades.h | 4 | ||||
-rw-r--r-- | Utilidades/src/cvUtilities.cpp | 25 | ||||
-rw-r--r-- | Utilidades/src/cvUtilities.h | 4 |
6 files changed, 69 insertions, 13 deletions
diff --git a/Utilidades/src/Makefile b/Utilidades/src/Makefile index 0c7bc0c..234966f 100644 --- a/Utilidades/src/Makefile +++ b/Utilidades/src/Makefile @@ -4,7 +4,20 @@ BIN_DIR= ../bin LDFLAG=-pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -L/usr/X11R6/lib -L/usr/local/lib -L$(LIB_DIR) LIBS= -lARgsub -lARgsub_lite -lARvideo -lARMulti -lAR -lpthread -lglut -lGLU -lGL -lXi -lX11 -lm -lXmu -lcv -lcvaux -lSDL -lSDL_mixer -lSDL_gfx -CFLAG= -O -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -g -I$(INC_DIR) + + +#CFLAG= -O -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -g -I$(INC_DIR) + +#Para optimizacion agresiva. Cuidado, pueden variar los resultados por la perdida de precision +CFLAG_RELEASE_AGGRESIVE= -pipe -O2 -ffast-math -funroll-all-loops -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) + +#CFLAG_RELEASE incluye todas las banderas de optimizacion menos -funroll-all-loops +CFLAG_RELEASE= -pipe -O2 -ffast-math -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) + +#Banderas para debug, no optimizan (compilacion mas rapida) y generan simbolos de debug +CFLAG_DEBUG = -pipe -g -O0 + +CFLAG= $(CFLAG_RELEASE) OBJS = HEADDERS = @@ -12,19 +25,19 @@ HEADDERS = all: TimeUtils.o OpenCVCamera.o Funciones.o UtilidadesSDL.o cvUtilities.o Utilidades.o ProcesamientoImagenRangosCV ProcesamientoImagenRangosMemoria ProcesamientoImagenRangosMemoriaEstatica findCirclesTestParaCalibracion histogramasEnROI TimeUtils.o: TimeUtils.cpp - g++ -c -g $(CFLAG) TimeUtils.cpp + g++ -c $(CFLAG) TimeUtils.cpp OpenCVCamera.o: OpenCVCamera.h OpenCVCamera.cpp - g++ -c -g $(CFLAG) OpenCVCamera.cpp + g++ -c $(CFLAG) OpenCVCamera.cpp Funciones.o: Funciones.cpp - g++ -c -g $(CFLAG) Funciones.cpp + g++ -c $(CFLAG) Funciones.cpp Utilidades.o: Utilidades.c cvUtilities.o Funciones.o - g++ -c -g $(CFLAG) Utilidades.c + g++ -c $(CFLAG) Utilidades.c cvUtilities.o: cvUtilities.cpp cvUtilities.h UtilidadesSDL.o Funciones.o - g++ -c -g $(CFLAG) cvUtilities.cpp + g++ -c $(CFLAG) cvUtilities.cpp UtilidadesSDL.o: UtilidadesSDL.cpp g++ -c $(CFLAG) UtilidadesSDL.cpp diff --git a/Utilidades/src/MakefileXO b/Utilidades/src/MakefileXO index a9d637e..76d2ca4 100644 --- a/Utilidades/src/MakefileXO +++ b/Utilidades/src/MakefileXO @@ -4,11 +4,15 @@ BIN_DIR= ../bin LDFLAG=-pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -L/usr/X11R6/lib -L/usr/local/lib -L$(LIB_DIR) LIBS= -lARgsub -lARvideo -lARMulti -lAR -lpthread -lglut -lGLU -lGL -lXi -lX11 -lm -lcv -lcvaux -lSDL -lSDL_mixer -lSDL_gfx -CFLAG= -O -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/local/include/opencv -g -I$(INC_DIR) +#CFLAG= -O -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/local/include/opencv -g -I$(INC_DIR) -CFLAG_RELEASE_AGGRESIVE= -pipe -O2 -ffast-math -funroll-all-loops -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) -I$(INC_DIR_UTIL) +CFLAG_RELEASE_AGGRESIVE= -pipe -O2 -ffast-math -funroll-all-loops -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) -CFLAG_RELEASE= -pipe -O2 -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) -I$(INC_DIR_UTIL) +CFLAG_RELEASE= -pipe -O2 -march=native -mtune=native -msse -msse2 -msse3 -mmmx -m3dnow -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/X11R6/include -I/usr/include/opencv -I$(INC_DIR) + +CFLAG_DEBUG= -g -O0 + +CFLAG= $(CFLAG_RELEASE) OBJS = HEADDERS = @@ -16,13 +20,13 @@ HEADDERS = all: TimeUtils.o OpenCVCamera.o UtilidadesSDL.o cvUtilities.o Utilidades.o ProcesamientoImagenRangosCV ProcesamientoImagenRangosMemoria ProcesamientoImagenRangosMemoriaEstatica findCirclesTestParaCalibracion histogramasEnROI TimeUtils.o: TimeUtils.cpp - g++ -c -g $(CFLAG) TimeUtils.cpp + g++ -c $(CFLAG) TimeUtils.cpp OpenCVCamera.o: OpenCVCamera.h OpenCVCamera.cpp - g++ -c -g $(CFLAG) OpenCVCamera.cpp + g++ -c $(CFLAG) OpenCVCamera.cpp Utilidades.o: Utilidades.c - g++ -c -g $(CFLAG) Utilidades.c + g++ -c $(CFLAG) Utilidades.c cvUtilities.o: cvUtilities.cpp cvUtilities.h UtilidadesSDL.o Utilidades.o g++ -c $(CFLAG) cvUtilities.cpp diff --git a/Utilidades/src/Utilidades.c b/Utilidades/src/Utilidades.c index 3330817..6ce6a05 100644 --- a/Utilidades/src/Utilidades.c +++ b/Utilidades/src/Utilidades.c @@ -37,7 +37,7 @@ float v_ranges[]={-1,-1}; - +double zoomFactor=1; int debugMode =0; void initPropiedadesCalibracion(int veces_por_marcador,PropiedadesCalibracion *propiedades,ResultadosCalibracion *resultados, int cant_marcadores, int metodo,int debug){ debugMode=debug; @@ -1287,6 +1287,7 @@ void initAR( ArtoolkitData* data ,char * config_name, char *vconf,int usarAlgori } /* open the graphics window */ + zoomFactor = zoom; argInit( &(data->cparam), zoom, 0, 2, 1, 0 ); arFittingMode = AR_FITTING_TO_IDEAL; arImageProcMode = AR_IMAGE_PROC_IN_FULL; @@ -1662,6 +1663,11 @@ int calcularResultadosCalibracionApuntador(PropiedadesCalibracion *propiedades,A } } +void desplegarImagenLite(ArtoolkitData* data){ + arglDispImage(data->dataPtr,&data->cparam, zoomFactor, 0); +} + + void desplegarImagen(ArtoolkitData* data){ argDrawMode2D(); if( !arDebug ) { diff --git a/Utilidades/src/Utilidades.h b/Utilidades/src/Utilidades.h index 6dad62d..98b5663 100644 --- a/Utilidades/src/Utilidades.h +++ b/Utilidades/src/Utilidades.h @@ -9,9 +9,12 @@ #include <AR/param.h> #include <AR/ar.h> #include <AR/arMulti.h> +#include <AR/gsub_lite.h> #include <AR/gsub.h> #include <AR/video.h> + + /*Incluyo OpenGL*/ #include <GL/gl.h> #include <GL/glut.h> @@ -139,6 +142,7 @@ void setHorizontalFlip(int habilitado,char * device); int detectarYCalcularPosicionTodosMultiMarkers(ArtoolkitData* data); void desplegarImagen(ArtoolkitData* data); +void desplegarImagenLite(ArtoolkitData* data); void capturarImagenAR(ArtoolkitData* data); diff --git a/Utilidades/src/cvUtilities.cpp b/Utilidades/src/cvUtilities.cpp index b5c0ac8..5bba42b 100644 --- a/Utilidades/src/cvUtilities.cpp +++ b/Utilidades/src/cvUtilities.cpp @@ -10,6 +10,8 @@ const float BYTE_TO_FLOAT = 1.0f / FLOAT_TO_BYTE; float fR, fG, fB; float fH, fS, fV; +CvCapture* capture; + void templateMatching(IplImage* imgGris, IplImage* templateImage){ @@ -997,3 +999,26 @@ float hayApuntador(int minH,int maxH, int minS, int maxS, int minV, int maxV, do return ERROR_RANGOS_CALCULADOS_OK; } + + + + int initCvCapture(int idDispositivo){ + capture = NULL; + capture = cvCreateCameraCapture(0); + if(capture!=NULL){ + return 1; + }else{ + return 0; + } + } + + unsigned char* getRawVideoFrame(){ + if(capture!=NULL){ + IplImage* frame = cvQueryFrame(capture); + if(frame!=NULL){ + return (uchar*)frame->imageData; + } + } + } + + diff --git a/Utilidades/src/cvUtilities.h b/Utilidades/src/cvUtilities.h index 35e5de0..80b7f8d 100644 --- a/Utilidades/src/cvUtilities.h +++ b/Utilidades/src/cvUtilities.h @@ -72,4 +72,8 @@ void imprimirInfoHist(CvHistogram* hist, int nbins); int calcRangosHist(CvHistogram* hist, int nbins, float* ranges, int continuo,double *resCalc);
+
+//Video Functions
+unsigned char* getRawVideoFrame();
+
#endif // CVUTILITIES_H_INCLUDED
|