Estoy trabajando en la integración de MediaPipe Hands en una aplicación AR basada en la web, y me estoy encontrando con algunos desafíos para obtener los datos de imagen de mi cámara en un formato que acepte la función send() . No he encontrado ninguna documentación API pública para la solución de JavaScript de MediaPipe Hands , pero si hay alguna en alguna parte, ¡házmelo saber!
El marco AR con el que estoy trabajando toma el control de la cámara, por lo que no puedo conectar directamente MediaPipe Hands a la cámara como se muestra en el ejemplo de CodePen .
El marco AR expone los datos de transmisión de la cámara en un par de formatos, pero la función send() no acepta ninguno de ellos. Proporciona un UInt8Array de datos de píxeles (junto con el número de filas, columnas y bytes por fila) y un srcTex que describe como "una textura que contiene la imagen de origen de los píxeles devueltos". Cuando envío cualquiera de ellos a MediaPipe Hands usando send({image: myImageData}) , aparece este error en mi consola:
Unhandled promise rejection: TypeError: Failed to execute 'texImage2D' on 'WebGL2RenderingContext': Overload resolution failed. Entonces parece que hay una llamada texImage2D en algún lugar de MediaPipe Hands, y necesito obtener mis datos de imagen en un formato que acepte. El problema es que hay varias sobrecargas y ajustes de configuración para este método, y no estoy seguro de cuál se usa.
Estoy pensando en convertir el UInt8Array de datos de píxeles en un formato que acepte send() , pero ¿qué debería ser?