Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Utilidades/src/Utilidades.h
diff options
context:
space:
mode:
Diffstat (limited to 'Utilidades/src/Utilidades.h')
-rw-r--r--Utilidades/src/Utilidades.h189
1 files changed, 0 insertions, 189 deletions
diff --git a/Utilidades/src/Utilidades.h b/Utilidades/src/Utilidades.h
deleted file mode 100644
index 399b3a5..0000000
--- a/Utilidades/src/Utilidades.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Utilidades.h
- *
- * Created on: 26/05/2010
- * @author Sebastián Marichal
- * sebastian_marichal@hotmail.com
- * sebarocker@gmail.com
- *
- * Universidad de la República, Montevideo , Uruguay
- */
-
-/*Incluyo Artoolkit*/
-#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>
-
-#include "cvUtilities.h"
-#include "Estructuras.h"
-
-
-#ifndef UTILIDADES_H_
-#define UTILIDADES_H_
-
-
-#define FORMA_APUNTADOR_CIRCULO 1
-#define FORMA_APUNTADOR_RECTANGULAR 2
-#define FORMA_APUNTADOR_MANO 3
-
-#define ERROR_DETECTANDO_MARCADORES 4
-#define ERROR_CALCULANDO_MATRIZ_TRANSFORMACION 5
-#define ERROR_NINGUN_MARCADOR_DETECTADO 6
-#define ERROR_IMAGEN_NULL 7
-#define DETECCION_CORRECTA 8
-
-#define MASCARA_APLICADA 9
-#define MASCARA_NO_APLICADA 10
-
-#define TIPO_MASCARA_BINARIA 11
-#define TIPO_MASCARA_ATENUANTE 12
-
-#define ERROR_TOMAR_MUESTRA_FORMA_NO_IMPLEMENTADA 13
-#define ERROR_TOMAR_MUESTRA_OK 14
-
-
-typedef struct {
- ARUint8 *dataPtr; /*Imagen RBG*/
- ARMultiMarkerInfoT *config;/*Estructura donde se almacena la informacion de configuracion de los marcadores y las matrices de transformacion*/
- ARMarkerInfo *marker_info; /*Estructura donde se guarda la informacion de los marcadores detectados*/
- ARCoordMarcador *coordenadas_marcadores; /*Arreglo de tamano data->config->marker_num con las posiciones tanto de los marcadores detectados como los no detectados*/
- int marker_num; /*Cantidad de marcadores detectados*/
- int thresh; /*threshold que usa el algoritmo de deteccion de marcadores de artookit*/
- int usarAlgoritmoLite; /*Indica si usar el algoritmo lite (mas rapido) o el algortimo no lite (mas lento pero mas preciso)*/
- int xsize,ysize;
- char *cparam_name;
- ARParam cparam;
-}ArtoolkitData;
-
-
-typedef struct {
- int threshCalculado; //Threshold resultado
- double* cf; //Promedio de cf (confidence value) para cada marcador usando threshCalculado.
- //si cf[i]==-1 entonces no es posible detectar el marcador i
-}ARMultiCalibracionData;
-
-void initPropiedadesCalibracion(int veces_por_marcador,PropiedadesCalibracion *propiedades,ResultadosCalibracion *resultados, int cant_marcadores, int metodo,int debug);
-
-void obtenerCoordenadasIdealesMarcadorNoDetectado(double markerToCameraMatrix[3][4],ARMultiEachMarkerInfoT marker,double hXi_hYi[3][4],double vertex[4][2]);
-
-void dibujarPuntosMarcadorNoDetectado(double Xi, double Yi,double vertex[4][2]);
-
-void dibujarLimitesPantalla(int xsize, int ysize);
-
-void dibujarMiniMarcador(double xCenter, double yCenter, double vertex[4][2], int detectado);
-
-void draw( double trans1[3][4], double trans2[3][4], int mode );
-
-/*
- * Devuelve los extremos opuestos del cuadrado defindo por puntos del parametro vertex.
- *
- * --------> x
- * | v0 v1 minimo = v0 ( v0.x + v0.y es la menor de las sumas)
- * | maximo = v2 ( v2.x + v2.y es la mayor de las sumas)
- * | v3 v2
- * y\/
- */
-void calcularPuntoOrigen(double vertices[4][2],int* resultado );
-
-int leerConfiguracionElementos(const char* archivoConfiguracion, Elemento* elementos, int MAX_ELEMENTOS, char * clickSound, char *errorSound);
-
-int leerConfiguracionCalibracion(const char* archivoConfiguracion, int cantMarcadores, char** imagenes);
-void imprimirPropiedadesElementos(Elemento* elementos,int cantidadElementos);
-
-/*Iniciliza el historico. En todas las posiciones setea valorInicial*/
-void initHistorico(Historico *historico, int cantHistorico,int valorInicial);
-/*Registra la colisino del marcador en el historico*/
-int registrarColision(int idMarcador, Historico *historico);
-
-
-
-//Calcula el promedio de los elementos. largo indica el largo del arreglo elementos
-//double calcularPromedio(double* elementos,int largo);
-
-//double calcularPromedio(int* elementos,int largo);
-
-void procesarDatosCalibracion(PropiedadesCalibracion *propiedades,ResultadosCalibracion *resultados, int cantidad_marcadores);
-
-void guardarDatosCalibracion(ResultadosCalibracion *resultados,const char* nombreArchivo,int cantidad_marcadores);
-/**
- * busca el apuntador en toda la imagen
- * */
-int detectarApuntador(ARUint8 *dataPtr,int invert,int minH,int maxH,int minS, int maxS,int minB, int maxB,
- int area_min, int area_max, int max_apuntadores, CoordApuntador *apuntadores);
-
-
-
-
-
-ARMultiCalibracionData* arCalibrarThresholdMultiMarker(ArtoolkitData* artoolkitData,int intervaloDescanso, int iteraciones,int imprimirDebug);
-
-/*Se llama cuando el programa finaliza
- * Detiene la captura de video y finaliza SDL*/
-void cleanupAll(void);
-
-
-void setBrillo(int brillo, char * device);
-void setAutoWhiteBalance(int habilitado,char * device);
-void setAutoGain(int habilitado,char * device);
-void setHorizontalFlip(int habilitado,char * device);
-
-
-/*------------- ARTOOLKIT Y CALIBRACION AUTOMATICA -------------*/
-
-
-/*Devuelve la informacion de todos los marcadores
- * Tanto los marcadores que no figuran en la estructura de dectados pero estan como visible o aquellos
- * que directamente estan como no visibles tendran su area y cf en -1 */
-int detectarYCalcularPosicionTodosMultiMarkers(ArtoolkitData* data);
-
-void desplegarImagen(ArtoolkitData* data);
-void desplegarImagenLite(ArtoolkitData* data);
-
-void capturarImagenAR(ArtoolkitData* data);
-
-/*Inicializa el histograma en cero
- * Inicializa los resultados en los rangos maximos (H:0-360,S:0-100,V:0-100)
- * Registra la forma que se utilizara para detectar el apuntador (circulo, rectangulo, mano)
- * */
-void initPropiedadesCalibracionSoloApuntador(int cantidad_de_muestras,int forma,ArtoolkitData* data, PropiedadesCalibracion *propiedades,
- RangosColorApuntador rangos_escala,int h_bins, int s_bins, int v_bins,int debug);
-
-
-/*A partir de los marcadores detectados selecciona uno y aplica la mascara segun la forma seleccionada
-Como resultado se deja en data->dataPtr la imagen con la mascara aplicada
-En data se debe encontrar el centro y los vertices del marcador de identificador idMarcador*/
-int aplicarNuevaMascaraCalibrador(PropiedadesCalibracion* propiedades,ArtoolkitData* data,int idMarcador,int tipoMascara);
-
-/*Solamente aplica una mascara previamente calculada por la funcion aplicarNuevaMascaraCalibrador
- * si antes no se llama al menos una vez a aplicarNuevaMascaraCalibrador entonces no se aplicara la mascara*/
-int aplicarMascaraCalibrador(PropiedadesCalibracion* propiedades,ArtoolkitData* data,int tipoMascara);
-
-/*Calcula el histograma filtrado por la mascara lo acumula al histograma calculado con las muestras
-anteriores*/
-int tomarMuestraApuntador(PropiedadesCalibracion *propiedades,ArtoolkitData* data);
-
-int calcularResultadosCalibracionApuntador(PropiedadesCalibracion *propiedades,ArtoolkitData* data, int factorThreshH,int minPorcentajeRuido);
-
-/**
- * recibe un boleano que indica si se desea mostrar la imagen en modo debug
- */
-void mostrarImagenDebugAR(int debug);
-
-/*Inicializacion de artoolkit
- * Si se quiere leer un archivo de configuracion para multi pattern entonces config_name debe contener la ruta del archivo, sino debe ser NULL
- * */
-void initAR( ArtoolkitData* data ,char * config_name,char *vconf,int usarAlgoritmoRapido,double zoom);
-
-
-void cleanupAR(void);
-
-#endif /* UTILIDADES_H_ */