Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Manipulacion Imagenes - Detectar movimiento imagen

Buenas, les escribo para saber si me pueden dar un pista de como detectar si una imagen x cambia de posicion. Es decir (ejemplo : manzana) una imagen de una manzana esta en en centro y tienes la misma imagen de la manzana pero dos centimetros a la izquierda. Como podria obtener ese cambio de movimiento. Pense en hacer un promedio de la matrices comparando la imagen inicial con la que cambia de posicion, pero digamos que la segunda imagen la misma (digamos imagen 1 manzana, imagen 2 reloj) no seria valida la premisa.

mayo 14, 2014 | Unregistered Commenterukumari

Si no eres mas especifico respecto a lo que tienes que hacer y como lo estas planteando, ayudarte es simplemente imposible.

Primero hablas de una imagen, luego de dos imagenes... de "cambio de movimiento"....

Solo fijate en tu ultima frase. No tiene ningun sentido:
"... pero digamos que la segunda imagen la misma (digamos imagen 1 manzana, imagen 2 reloj) no seria valida la premisa."


Un saludo

mayo 14, 2014 | Unregistered CommenterUnoPorAhi

Mira esta dirección. Es un ejemplo de como mover imagenes. Supongo que te servirá

http://www.jc-mouse.net/java/crear-y-mover-objetos-en-tiempo-de-ejecucion

Saludos

mayo 14, 2014 | Registered Commenterbosquito

Dentro de lo confuso que es la cuestión, tal y como está planteada, las imágenes en Java están siempre dentro de algún contenedor gráfico: JPanel, JLabel, JButton
Todos ellos tienen una posición conocida, y que se puede determinar si "algo" los mueve.
La solución es detectar la posición del contenedor de la imagen, con los métodos que todos ellos disponen.

mayo 14, 2014 | Registered Commenterchoces

Acabo de releer el mensaje y creo que lo que quiere es implementar un algoritmo de deteccion de movimiento entre una secuencia de imagenes.

Pero bueno, hasta que lo aclare solo podemos especular...


Un saludo

mayo 14, 2014 | Unregistered CommenterUnoPorAhi

Buena Si es Deteccion de movimiento(Manipulacion de Imagenes).
Cargo dos imagenes (Una imagen con una manzana en el centro de la imagen, otra imagen con la misma manzana pero 1 cm a la izquierda).
Como yo puedo saber si la imagen 1 es la misma de la imagen 2, y si es la misma como puedo calcular ese cambio de posicion.
Ojo : Estas imagenes no estan en un label, ni panel ni nada.Simplemente las almaceno, y las "manipulo", por ejemplo obtengo el RGB; umbral esas cosas.

Como pueden ver en el enlaze , la imagen 1 esta en el centro, mientras la imagen 2 esta mas a la izquierda. (eso es lo que deseo saber como puedo hacer para detectar el movimiento)

http://i.imgur.com/BmkLRWa.png

http://i.imgur.com/sjC9tnk.png

mayo 22, 2014 | Unregistered Commenterukumari

Me gustaría saber qué significa ésto:

"... Estas imagenes no estan en un label, ni panel ni nada.Simplemente las almaceno, y las "manipulo",..."

Si no publicas el código que estás usando, me temo que no vamos a entender el problema que tienes.

¿Estás usando Javascript en vez de Java, por casualidad?.

mayo 22, 2014 | Registered Commenterchoces

@choces: creo que lo que quiere decir es que quiere cargar las dos imagenes en memoria y compararlas mediante un algoritmo para comprobar el desplazamiento del objeto.

Aunque la verdad es que una manzana no es el mejor ejemplo para detectar movimiento...

Si buscas en Google "Motion detection Java" tienes montones de ejemplos en diversas tecnologias (JMF, OpenCV, etc).

Yo personalmente probaria a hacerlo mediante OpenCV, que te ofrece mucha potencia y caracteristicas (yo lo he usado para hacer algunas cosas en C y va muy bien):
http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html

Un saludo

mayo 22, 2014 | Unregistered CommenterUnoPorAhi

Es Exactamente como dice @choces. Gracias, uso java escritorio. (IDE netbeans).
Código que uso es en base a un ejemplo que encontré en la nube que he ido aumentándole ciertas cosillas. Como puedo publicarlo por acá para que puedan visualizarlo.

mayo 23, 2014 | Unregistered CommenterUkumari

¿Quieres decir que usas Javascript?.
No mezclemos las cosas: Java en el escritorio es o aplicaciones autónomas creadas con Swing o JavaFX, o applets ejecutándose en un navegador de Internet. Ejemplo de Java en el escritorio: NetBeans IDE.
Javascript no tiene nada que ver con Java, ni en el escritorio ni en servidores.

Aquí solo puedes copiar y pegar. Tal vez puedas usar un servicio como http://pastebin.com/ o abrir una cuenta en https://github.com/ o en https://bitbucket.org/

De todos modos, si usas Javascript, este foro está dedicado a JavaSE.

mayo 23, 2014 | Registered Commenterchoces

O_o

mayo 23, 2014 | Unregistered CommenterUnoPorAhi

Perdona , No estoy familiarizado con esos conceptos, soy amateur con estas cosas.
Aca le adjunto el codigo que he adaptado de internet a algunas cosas que me han requerido.Eso es lo que tengo.
Perdonen las molestias que les he generado.

http://1drv.ms/1g4OdGD

Muchas gracias por su colaboración

mayo 24, 2014 | Unregistered Commenterukumari

El código que has publicado es Java. Al menos eso ya está claro.

He visto con detalle la clase Imagen, que extiende Component de AWT. Y que para visualizarla, crea un JFrame y la añade. Ese JFrame es el contenedor del componente Imagen.
Al margen de que no me parece muy correcto añadir un componente de AWT a un JFrame, por los posibles problemas de mezclar ambos tipos de componentes, y de que esa metodología puede provocar memory leaks al menor descuido, no veo dónde encaja el asunto de la detección de movimiento de imagen.

Si cada Imagen está dentro de un JFrame, ¿Dónde se produce ese movimiento?.

mayo 24, 2014 | Registered Commenterchoces

He probado la aplicación en ejecución, y como me temía hay varios memory leaks asociados a la manera de manejar esos JFrame.

mayo 24, 2014 | Registered Commenterchoces

En las imagenes , Se comparan las dos imagenes ingresadas y se debe detectar si la imagen esta en la misma posicion (imagen 1 → fondo Blanco Manzana medio,imagen 2 →la misma imagen , pero la manzana ya no esta en el centro).
Simplemente ingreso dos imagenes iguales y debo indicar si en las dos imagenes son el mismo objeto y si tienen la misma posicion o si ha cambiado.

Asi lo encontre, excepto la clase algoritmos y algunas funciones son mias.
La verdad ya no se como explicar. Si desea saber mas , pues brindeme algun correo y le escribo para que le explique por teamviwer o algo por el estilo :D

Gracias.

mayo 24, 2014 | Unregistered Commenterukumari