2011-04-07 10 views
9

Mejor lector,Cámara web abierta y establecer como fondo (pregunta)

Estoy atascado en uno de mis conceptos. Estoy haciendo un programa con el que los niños pueden medirse. Esto es lo que el programa incluye; - 1 cámara web (sólo se utiliza para una vista simple webcam.) - 2 Phidgets (no me importa éstos.)

lo tanto, esto era mi plan. Dibujaré un rectángulo en la webcam y lo volveré a pintar constantemente. Cuando el repintado es detenido por uno de los elementos, el valor del rectángulo se devolverá en centímetros o metros.

ya he escrito el código del rectángulo que está pintando en sí y esto fue mi resultado:

(Es un RoundRectangle, las líneas son un poco difícil de ver en esta imagen, lo siento por eso.) enter image description here

Como puede ver, el fondo ahora es simplemente negro. Quiero establecer el fondo de este JFrame como una vista de webcam (si es posible) y luego dibujar el rectángulo sobre la vista de la cámara web en lugar del fondo negro.

Ya he examinado jmf, fmj y demás, pero estoy recibiendo errores incluso después de verificar la ruta de mi webcam y agregar las bibliotecas de jar necesarias. Entonces quiero probar otras opciones.

So; - Simplemente quiero abrir mi cámara web, usarla como fondo (sí transmisión en vivo, si es posible de alguna manera). Y dibuja este rectángulo sobre él. Me pregunto si esto es posible o si tengo otras opciones para lograrlo.

Espero que comprenda mi situación, y pregunte si algo no está claro.

EDIT: Tengo mi cámara para abrir ahora a través de Java. La cámara en funcionamiento es del tipo "Proceso". Aquí es donde obtuve el código para que se abra la cámara: http://www.linglom.com/2007/06/06/how-to-run-command-line-or-execute-external-application-from-java/ Ajusté un poco la mía para que abriera la cámara. Pero ahora me pregunto; ¿Es posible establecer un proceso como fondo de un JFrame? ¿O puedo de alguna manera agregar el proceso a un JPanel y luego agregarlo a un JFrame? He intentado varias cosas sin éxito.

Mi programa como ahora, cuando lo ejecuto, abre el marco de medición y la vista de la cámara por separado. Pero el objetivo es fusionarlos y hacer que el rectángulo de repintado se coloque sobre la vista de la cámara.

Ayuda muy apreciada!

+0

http://stackoverflow.com/search?q = java + webcam – Daniel

+0

Ya he visto la mayoría de ellos, y probé algunos. Pero, como estaba diciendo; Quiero probar otras opciones. Al menos me gustaría saber cómo podría abrir mi propia vista previa de webcam, o cómo abrir cualquier aplicación a través de Java. – Antique

+0

Simplemente una nota que dice "ejecutar la cámara como un proceso" probablemente no sea el camino a seguir. Esto solo ejecuta una aplicación externa a través de Java, en comparación con ejecutar una aplicación desde un shell o línea de comando. Tendrás que buscar maneras de capturar la salida de la cámara, en cambio es lo que reconozco. – Tim

Respuesta

1

No creo que sea una cuestión de establecer una secuencia de cámara web como de fondo para su interfaz. Lo más probable es que necesite crear un componente de reproductor multimedia, agregarlo a su GUI y luego superponer sus rectángulos sobre ese componente.

Como ya sabrá al buscar soluciones para la cámara web Java en Stack Overflow, no es fácil, pero esperamos que el JMF Specs and API Guide lo ayude a superarlo. La guía de API es un PDF y tiene secciones sobre la recepción de flujos de medios, así como el código de muestra.