Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Biblioteca PUI/c++/Estructuras.h
diff options
context:
space:
mode:
Diffstat (limited to 'Biblioteca PUI/c++/Estructuras.h')
-rw-r--r--Biblioteca PUI/c++/Estructuras.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Biblioteca PUI/c++/Estructuras.h b/Biblioteca PUI/c++/Estructuras.h
new file mode 100644
index 0000000..1ca7a04
--- /dev/null
+++ b/Biblioteca PUI/c++/Estructuras.h
@@ -0,0 +1,64 @@
+/**
+ * Estructuras.h
+ *
+ * Created on: 26/11/2010
+ * @author Sebastián Marichal
+ * sebastian_marichal@hotmail.com
+ * sebarocker@gmail.com
+ *
+ * Universidad de la República, Montevideo , Uruguay
+ */
+
+#ifndef ESTRUCTURAS_H_
+#define ESTRUCTURAS_H_
+
+#include "EstructurasPublicas.h"
+
+typedef struct{
+ CvHistogram *histograma_h; //Histograma acumulativo de la distribucion de color del apuntador en las diferentes muestras tomadas
+ CvHistogram *histograma_s; //Histograma acumulativo de la distribucion de saturacion del apuntador en las diferentes muestras tomadas
+ CvHistogram *histograma_v; //Histograma acumulativo de la distribucion de brillo del apuntador en las diferentes muestras tomadas
+ int h_bins; //Cantidad de los intervalos en los que se divide le histograma h
+ int s_bins; //Cantidad de los intervalos en los que se divide le histograma s
+ int v_bins; //Cantidad de los intervalos en los que se divide le histograma v
+ RangosColorApuntador rangos; //Rangos propios de la escala que se utiliza. [H:0-180,S:0-255,V:0-255] o [H:0-360,S:0-100,V:0-100]
+
+}HistogramasData;
+
+
+typedef struct {
+/*Calibracion del apuntador*/
+ int forma; //Forma del apuntador
+ HistogramasData data_histogramas;
+ RangosColorApuntador resultado_rangos_color; //Resultados de la calibracion por color
+
+ int debug_imagenes; //Cuando se quiera ver las imagenes de uso interno del calibrador (imagen enmascarada y mascara) debe ponerse en 1
+ int restarAlRadio; //Este valor se usa para restar al radio del circulo de las mascaras circulares y achicarlas para poder calibrar objetos mas pequenos que los marcadores. Por defecto es 0
+
+/*Calibracion de la relacion marcador-apuntador*/
+ int veces_por_marcador; //Cantidad de veces que se toma el area del apuntador sobre un marcador
+ int metodo; //Por el momento siempre vale 1 y quiere decir que la estimacion se hace usando un promedio de las medidas tomadas
+ double ** medidas_apuntador; //Matriz con las areas del apuntador. La matriz tiene las dimensiones (veces_por_marcador x cant_marcadores)
+ // medidas_apuntador[i] --> Vector con las medidas del area del apuntador posando sobre el marcador i
+ double ** medidas_marcador; //Matriz con las areas de los marcadores. La matriz tiene las dimensiones (veces_por_marcador x cant_marcadores).
+ //medidas_marcador[i]--> Vector con las medidas del area del marcador i. Existen veces_por_marcador medidas tomadas.
+ double ** relaciones; //relaciones[i] = medidas_apuntador[i]/medidas_marcador[i].
+ double * promedios; //En la posicion i contiene el promedio (o el valor que arroje otro metodo indicado) del vector relaciones[i].
+
+}PropiedadesCalibracion;
+
+typedef struct {
+ int min_area;
+ float factorProporcionApuntadorMarcador;
+ int erode;
+ int dilate;
+ int smooth;
+ int enclosing_circle;
+}PropiedadesDeteccionApuntador;
+
+typedef struct {
+ CvPoint2D32f centro;
+ float radio;
+} Circle;
+
+#endif /* ESTRUCTURAS_H_ */