Download document (10.35 MB) - Escuela Superior de Informática ...
Download document (10.35 MB) - Escuela Superior de Informática ... Download document (10.35 MB) - Escuela Superior de Informática ...
98 Capítulo 4. Metodología de TrabajoAlgoritmo 5 Cálculo de la tercera dimensión1: mientras (haya marcas de brazos) hacer2: double disVista = distance(points[1][i].x, points[1][i].y, points[1][i+2].x,points[1][i+2].y);3: double longReal = 0;4: si (i es la marca muñeca izquierda) entonces5: longReal = longAnteBrIzqdo;6: si no, si (i es la marca muñeca derecha) entonces7: longReal = longAnteBrDrcho;8: si no, si (i es la marca codo izquierdo) entonces9: longReal = longBrazoIzqdo;10: si no11: longReal = longBrazoDrcho;12: fin si13: si (disVista es mayor que longReal) entonces14: disVista = longReal;15: fin si16: double alpha = 0;17: double beta = 0;18: double zeta = 0;19: si ( la marca es un codo o muñeca ) entonces20: alpha = acos(disVista / longReal);21: zeta = sin(alpha) * longReal;22: si no23: beta = asin(disVista / longReal);24: zeta = points3d[0][i+2].z + (longReal * cos(beta));25: fin si26: points3d[1][i] = cvPoint3D32f(points[1][i].x, points[1][i].y, zeta);27: fin mientrasCHANNELS_SECTIONCHANNEL_TAG CHANNEL_IDNombre_Canal_0_dx 0Nombre_Canal_0_dy 1Nombre_Canal_0_dz 2Nombre_Canal_1_dx 3Nombre_Canal_1_dy 4Nombre_Canal_1_dz 5... ...DATA_SECTION
4.4. Reconstrucción del movimiento en 3D y generación de los ficheros de marcas 99CHANNEL_ID FRAME VALUE0 0 valor real0 0 valor real0 0 valor real... ... ...Last_Channel_id 0valor real0 1 valor real0 1 valor real0 1 valor real... ... ...Last_Channel_id 1valor real0 2 valor real...Las palabras en mayúscula son identificadores clave de cada parte del fichero de marcas.Se distingue una primera parte de especificación de canales. Cada marca lleva asociada trescanales (uno por coordenada); a cada canal se le asigna un identificador numérico único. Yen la segunda parte del fichero se indica, para cada canal, la posición en el espacio en undeterminado frame.El fichero de marcas MF tiene 18 canales correspondientes a las 6 marcas empleadas enla detección del movimiento de brazos, cuya disposición puede verse en la Figura 4.9.104 52 31Figura 4.9: Disposición de las marcas del fichero MF (Marks File) generado.El nombre dado a las marcas es libre. Los que se han utilizado en el fichero MF son losde la Tabla 4.2.El fichero de marcas GFF tiene 48 canales correspondientes a las 16 marcas empleadasen la detección de los gestos faciales y su disposición puede verse en la Figura 4.10.
- Page 72 and 73: 48 Capítulo 3. Antecedentes, Estad
- Page 74 and 75: 50 Capítulo 3. Antecedentes, Estad
- Page 76 and 77: 52 Capítulo 3. Antecedentes, Estad
- Page 78 and 79: 54 Capítulo 3. Antecedentes, Estad
- Page 80 and 81: 56 Capítulo 3. Antecedentes, Estad
- Page 82 and 83: 58 Capítulo 3. Antecedentes, Estad
- Page 84 and 85: trices para concatenarlas y multipl
- Page 86 and 87: 62 Capítulo 3. Antecedentes, Estad
- Page 88 and 89: 64 Capítulo 3. Antecedentes, Estad
- Page 90 and 91: 66 Capítulo 3. Antecedentes, Estad
- Page 92 and 93: 68 Capítulo 3. Antecedentes, Estad
- Page 94 and 95: 70 Capítulo 3. Antecedentes, Estad
- Page 96 and 97: 72 Capítulo 3. Antecedentes, Estad
- Page 98 and 99: 74 Capítulo 3. Antecedentes, Estad
- Page 100 and 101: 76 Capítulo 3. Antecedentes, Estad
- Page 102 and 103: 78 Capítulo 3. Antecedentes, Estad
- Page 104 and 105: 80 Capítulo 3. Antecedentes, Estad
- Page 106 and 107: 82 Capítulo 4. Metodología de Tra
- Page 108 and 109: 84 Capítulo 4. Metodología de Tra
- Page 110 and 111: 86 Capítulo 4. Metodología de Tra
- Page 112 and 113: 88 Capítulo 4. Metodología de Tra
- Page 114 and 115: 90 Capítulo 4. Metodología de Tra
- Page 116 and 117: 92 Capítulo 4. Metodología de Tra
- Page 118 and 119: 94 Capítulo 4. Metodología de Tra
- Page 120 and 121: 96 Capítulo 4. Metodología de Tra
- Page 124 and 125: 100 Capítulo 4. Metodología de Tr
- Page 126 and 127: 102 Capítulo 4. Metodología de Tr
- Page 128 and 129: 104 Capítulo 4. Metodología de Tr
- Page 130 and 131: 106 Capítulo 4. Metodología de Tr
- Page 132 and 133: 108 Capítulo 4. Metodología de Tr
- Page 134 and 135: 110 Capítulo 4. Metodología de Tr
- Page 136 and 137: 112 Capítulo 4. Metodología de Tr
- Page 138 and 139: 114 Capítulo 5. ResultadosTodas la
- Page 140 and 141: 116 Capítulo 5. ResultadosVídeos
- Page 142 and 143: 118 Capítulo 5. Resultados5.2. Res
- Page 144 and 145: 120 Capítulo 5. Resultados• Boca
- Page 146 and 147: 122 Capítulo 5. ResultadosVídeos
- Page 148 and 149: 124 Capítulo 6. Conclusiones y Pro
- Page 150 and 151: 126 Capítulo 6. Conclusiones y Pro
- Page 152 and 153: 128 Capítulo 6. Conclusiones y Pro
- Page 154 and 155: 130 Capítulo 6. Conclusiones y Pro
- Page 156 and 157: 132 Capítulo 6. Conclusiones y Pro
- Page 158 and 159: 134 Capítulo A. DiagramasUSERcallb
- Page 160 and 161: 136 Capítulo B. Manual de usuarioF
- Page 162 and 163: 138 Capítulo B. Manual de usuarioM
- Page 164 and 165: 140 Capítulo B. Manual de usuarioL
- Page 166 and 167: 142 Capítulo B. Manual de usuarioP
- Page 168 and 169: 144 Capítulo C. Manual de Instalac
- Page 170 and 171: 146 Capítulo D. Código fuente/src
98 Capítulo 4. Metodología <strong>de</strong> TrabajoAlgoritmo 5 Cálculo <strong>de</strong> la tercera dimensión1: mientras (haya marcas <strong>de</strong> brazos) hacer2: double disVista = distance(points[1][i].x, points[1][i].y, points[1][i+2].x,points[1][i+2].y);3: double longReal = 0;4: si (i es la marca muñeca izquierda) entonces5: longReal = longAnteBrIzqdo;6: si no, si (i es la marca muñeca <strong>de</strong>recha) entonces7: longReal = longAnteBrDrcho;8: si no, si (i es la marca codo izquierdo) entonces9: longReal = longBrazoIzqdo;10: si no11: longReal = longBrazoDrcho;12: fin si13: si (disVista es mayor que longReal) entonces14: disVista = longReal;15: fin si16: double alpha = 0;17: double beta = 0;18: double zeta = 0;19: si ( la marca es un codo o muñeca ) entonces20: alpha = acos(disVista / longReal);21: zeta = sin(alpha) * longReal;22: si no23: beta = asin(disVista / longReal);24: zeta = points3d[0][i+2].z + (longReal * cos(beta));25: fin si26: points3d[1][i] = cvPoint3D32f(points[1][i].x, points[1][i].y, zeta);27: fin mientrasCHANNELS_SECTIONCHANNEL_TAG CHANNEL_IDNombre_Canal_0_dx 0Nombre_Canal_0_dy 1Nombre_Canal_0_dz 2Nombre_Canal_1_dx 3Nombre_Canal_1_dy 4Nombre_Canal_1_dz 5... ...DATA_SECTION