2011-11-27 8 views
7

Estoy trabajando en proyectos pequeños que requieren: Cambiar ropa (camisa/pantalones, etc.) de una persona en cualquier imagen 2D que elija cargar. Entonces, de alguna manera los bordes deben ser detectados y se supone que las áreas relevantes deben estar llenas de nuevos patrones. Veo muchas otras complicaciones, pero supongamos que los patrones simples solo deben cumplimentarse.¿Cómo simular los cambios de ropa en la imagen 2D?

  1. Para una aplicación web, ¿es posible hacerlo en HTML5? ¿Alguna otra alternativa?

  2. Para una aplicación independiente, ¿qué tipo de tecnología se prefiere, C++/Java?

actualización

Basado en el comentario de Bart:

  1. Cualquier indicador útil como Bart sería realmente útil
  2. Supuesto: Claro trazable 'pie' figura humana imagen 2D
  3. en
  4. Dado que es una imagen, no hay un escenario en tiempo real
+19

Aunque me gustaría darle una respuesta completa, la pregunta que está haciendo en este momento es IMHO el equivocado. El tema que intentas abordar es muy, muy difícil de decir. Es posible que desee buscar el trabajo de Fraunhofer HHI en su "espejo virtual", por ejemplo. HTML5, C++ o Java son la menor de tus preocupaciones. Le aconsejaría que primero revise el trabajo previo para tener una idea clara de los componentes necesarios y de cómo su (y otras) soluciones de trabajo hacen su trabajo. Siento que deberías poder hacer una pregunta más específica. Lo siento, pero espero que eso ayude. – Bart

+1

Basado en sus actualizaciones: Podría adoptar un enfoque similar al de Zugara (y también he visto otros). En lugar de rastrear cualquier cosa, simplemente le obliga al usuario a "ajustarse" dentro de cierta región. Luego superpone sus imágenes de prendas 2D sobre eso. Una demostración de lo que quiero decir (aunque para un ejemplo en vivo) se puede encontrar [en este video de youtube] (http://www.youtube.com/watch?v=RYNYGyB2YFw&feature=related). Simplificaría las cosas considerablemente. – Bart

Respuesta

5

Supuesto: Claro trazable 'pie' figura humana imagen 2D en

Una manera de hacer esto es exigir al usuario que tome las dos imágenes. Una imagen es la que tiene el usuario, la otra debe tomarse en la misma posición y orientación de la cámara, pero el usuario saldrá del marco para esa.

Dado que ambas imágenes tendrán el mismo fondo, puede comparar píxel por píxel entre las dos imágenes y marcar los píxeles que tienen una diferencia sobre un cierto umbral. Por supuesto, el umbral debe seleccionarse para que el ruido de la cámara no se detecte como una diferencia. Una vez que tenga la colección de píxeles que son diferentes, puede filtrarlos y calcular una silueta aproximada para el usuario a partir de los píxeles en el borde.

Se puede simplificar el método anterior si se tiene control sobre el fondo. Puede usar bluescreen para evitar tener que tener una segunda imagen con el fondo.

Cuestiones relacionadas