Pregunta

Estoy trabajando con algunos compañeros de programación para crear una interfaz AS a la Kinect y un problema al que nos estamos quedando en la imagen es de diferenciación. Necesitamos ser capaces de echar a los datos de imagen que no cambia de imagen en imagen para que podamos punta de alfiler únicas cosas que se están moviendo (es decir. La gente).

Alguien tiene alguna experiencia con esto o una dirección podemos ir?

¿Fue útil?

Solución

Me consideraría la creación de un sombreado de Pixel Bender para encontrar la diferencia y también hacer cualquier otra de matemáticas o de seguimiento. Pixel Bender obtiene su propia fuera de rosca del reproductor flash normal, por lo que puede conseguir un poco más caballos de potencia para su configuración. sombreados de Pixel Bender se pueden aplicar a los mapas de bits, vectores, o vídeo así que creo que es perfecto para este proyecto. Buena suerte!

http://www.adobe.com/devnet/flash/articles/ pixel_bender_basics.html

Y es es una colección completa de los shaders incluyendo diferencia

Otros consejos

Tome un vistazo a la umbral método / en BitmapData. Que va a permitir que hagas estas cosas. Sus documentos tienen un ejemplo simple para comprobar que fuera.

Puede ser que sea una posibilidad muy remota, y esto es sólo yo divagando, pero en teoría sonido (extraño cómo estoy relacionándolo con la cancelación de la imagen, pero aquí va ...) el concepto de cancelación es cuando se toma una ola probar y añadir su inversa. Es la forma de hacer acapellas de instrumentales + originales o instrumentales de ACAPELLAS + originales.

Tal vez se puede invertir la nueva imagen y "normalizar" los dos para obtener sus desplazamientos? Es decir. la primera imagen es 'negro sobre blanco' y la segunda imagen es 'blanco sobre negro', y luego detectar las diferencias de los datos de mapa de bits. Sé que hice un método similar de encontrar colisiones con AS3 hace unos años. Esto, en teoría, cancelar los píxeles 'repetir' y lo dejan con sólo los cambios desde el último cuadro.

Con BitmapData sus valores van a ser de 0 a 255, por lo que si se puede implementar una cancelación (porque muchas partes de la imagen se va a seguir igual de trama t marco), entonces usted puede encontrar fácilmente los cambios de la trama anterior.

Es sólo una idea! Sea cual sea su solución es que va a tener que ser rápido con el fin de vencer a baja velocidad los tiempos de ejecución Flash. Su Kinect leer tasa de FPS será enormemente dificultada con mal código.

Aquí hay un código marco de diferenciación que escribí hace un tiempo atrás. Utiliza bitmapData: http://actionsnippet.com/?p=2820

También usó para capturar los colores que se mueve en un canal de video: http://actionsnippet.com/?p = 2736

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top