Foro sobre Java SE > Manipulacion Imagenes - Detectar movimiento imagen
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
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
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.
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
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
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?.
@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
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.
¿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.
O_o
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
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?.
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.
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.
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.