Así que dentro de la demostración estamos renderizando todo esto encima de un elemento de lienzo. Básicamente, renderizamos nuestros puntos de referencia para ver cuántos puntos de referencia obtenemos dentro de nuestro lienzo. Y luego lo que hacemos es dibujar la imagen real encima de nuestro lienzo. Y aquí es donde principalmente procesamos nuestras imágenes reales.
Si observas desde las líneas de código 36 a 48, aquí es donde cuando traes tu imagen y en este caso, como en la grabación de la cámara web cerca de tu cámara web, entonces será capaz de obtener los puntos de referencia y encontrar las coordenadas para cada uno de estos puntos de referencia ya que es una imagen 2D. Obtendrá las coordenadas X e Y de cada punto de referencia y las almacenará en un array. Y luego lo que hacemos es dibujar un rectángulo. Como puedes ver, cuando levanto mi mano dentro de la demostración, en realidad se encargará de renderizar estos puntos de referencia obteniendo las coordenadas X e Y de cada punto de referencia que encuentra y los renderizará encima de la imagen real que se está representando en el lienzo.
Y aquí es donde básicamente cargamos el modelo real, y ese es el modelo de manos. Y aquí es donde inicializamos nuestra cámara. Así que cuando ejecutamos la demostración, aquí es donde inicializamos nuestra cámara y luego tenemos un par de funciones que ejecutamos, incluyendo la carga del modelo de manos. Y finalmente, lo que estamos viendo es que estamos renderizando los resultados utilizando la función asíncrona en los resultados, que básicamente captura tu grabación. Y básicamente se encarga de renderizar los puntos de referencia y conectarlos, asegurándose de que se ajusten o se superpongan encima de tu grabación. De esta manera, lo que puedes hacer es, por supuesto, este es un ejemplo para poder ejecutar la demostración de manos. Y, por supuesto, la lógica separada que se ha añadido a esto es poder detectar cuando los puntos de referencia están cerrados o abiertos.
Pero en este caso, cuando los puntos de referencia se superponen entre sí, podemos ver que estoy imprimiendo la etiqueta como cerrado. Así que dependiendo de la necesidad, o dependiendo de cómo quieras utilizar este modelo en particular, puedes escribir tu lógica personalizada en JavaScript para ver si, por ejemplo, digamos que estás, porque cada uno de estos diferentes puntos de referencia tiene sus coordenadas únicas. Así que podrías hacer mucho más con esto específicamente, por ejemplo, si quisieras crear algo como un lenguaje de señas americano, podrías entrenar tu modelo de tal manera que, dependiendo de los puntos de referencia o las posiciones de tus puntos de referencia, y la forma en que están orientados, podrías crear una demostración completa de lenguaje de señas americano de principio a fin con la ayuda de la demostración de manos o el modelo de segmentación de manos. Así que eso, por supuesto, depende totalmente de ti en términos de cómo quieras hacerlo.
Entonces, por supuesto, en este caso, la lógica que utilizo es que cuando todos los puntos de referencia no se superponen entre sí, simplemente se imprime como abierto.
Entonces, básicamente, volviendo a nuestra pantalla. Esta es básicamente la demostración rápida que quiero mostrar. Con eso, concluyo mi charla. Y, por supuesto, en caso de que tengas alguna pregunta sobre cómo comenzar con MediaPipe en JavaScript, definitivamente puedes comunicarte conmigo y te recomendaré que consultes MediaPipe en JavaScript, donde encontrarás una lista de todas las diferentes soluciones y sus respectivos módulos NPM. Y, por supuesto, verás algunos ejemplos de trabajo que ya están disponibles. Con eso, concluyo y muchas gracias. Y espero verte en persona el próximo año en React Dev Berlin. Muchas gracias.
Comments