Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Utilidades
diff options
context:
space:
mode:
authorpgperui <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)
commit4a25a46b0c59febf4399771e09cb9b8ac73f4f3b (patch)
tree67090dffcdebe623d1fd53859a2d8250912e9e52 /Utilidades
parent6b8ffac38743c64b79a6b68e34dc009503bd4069 (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/Makefile25
-rw-r--r--Utilidades/src/MakefileXO16
-rw-r--r--Utilidades/src/Utilidades.c8
-rw-r--r--Utilidades/src/Utilidades.h4
-rw-r--r--Utilidades/src/cvUtilities.cpp25
-rw-r--r--Utilidades/src/cvUtilities.h4
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