Problema para mandar llamar un método

Bueno soy nuevo en esta comunidad y agradezco el ahora poder formar parte de ella.

El siguiente proyecto lo estoy desarrollando en NetBeans 6.9. Una de las librerias que yo he agregado es la JMF.jar para la interacción con una webcam.

Estoy desarrollando un proyecto para programar un brazo robotico hecho con un mindstorm nxt de lego el cual pueda reconocer imagenes a traves de una webcam, en este caso estoy utilizando la binarización de imagenes y ahora es capaz de reconocer cuadrados triangulos y circulos. se supone que si el brazo detecta uno de estos elementos lo manipulará y lo clasificará.

Una de las interfaces gráficas (CapturaImagen) que ya tengo hechas es donde puedo tomar la imagen de la camara, en esta misma clase hice una conexion con el robot para tomar las lecturas de un sensor ultrasonico para detectar si hay algun objeto, en caso de que el sensor detecte algo ejecuta un método (tomarImagen) para tomar la imagen de la camara, esta imagen es guardada en el disco duro.

Ahora, tengo otra interfaz gráfica (reconocimiento) por separado la cual tiene un método (leerImagen) para poder tomar la imagen guardada en el disco duro, una vez que es tomada la imagen la procesa y la binariza, la imagen resultado es dibujada en un panel perteneciente a la misma clase de la interfaz grafica (reconocimiento) y escribe en un label el nombre de la figura detectada, todo lo anterior es hecho por el mismo método (leerImagen).

El método (leerImagen) solo puedo ejecutarlo dentro de la clase (reconocimiento), haciendolo de esta manera no tengo problemas.

Bueno el problema es el siguiente:

Yo quiero mandar llamar el método (leerImagen) desde la clase (CapturaImagen). ya lo intente en la manera convencional:

reconocimiento leer = new reconocimiento();
leer.leerImagen();

haciendolo así no me marca ningun error de compilación pero al momento de correr el proyecto no se construye la interfaz grafica y solo me sale el siguiente error:

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError

en una ocasión trate de mandar llamar el método (leerImagen) desde un hilo creado en una clase "X" adicional, me hace el procesamiento de la imagen pero no me dibuja nada en la interfaz de la clase (reconocimiento). Y digo que si me procesa la imagen porque en consola me imprime los valores que se utilizan para el procesamiento el problema es que no actualiza los resultados en la interfaz, me imagino que es porque el hilo es un proceso diferente al que corre en ese momento la interfaz (reconocimiento).

No se de que otra manera puedo mandar llamar el método (leerImagen) desde una clase distinta sin que me ocurran los errores anteriores. Espero me haya dado a entender y si me pudieran dar alguna idea se los agradeceria bastante.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

StackOverflowError

Ese error es por recursión infinita. Se llama el mismo método de manera directa o indirecta desde dentro del método. Es decir leerImagen() está invocándose a sí mismo, o invoca a un método que a su vez llama a invocaImagen(), lo cual causa que se llame nuevamente ese método que va a llamar a invocaImagen() etc.

Imagen de Nirvash

StackOverflowError

Entonces es eso, bueno muchas gracias, como apenas estoy dedicandome a eso de la programación aun hay muchos conceptos que no entiendo, ya llevo un par de meses en ese proyecto y lo he ido sacando poco a poco, pero bueno cada día se aprende un poco más, así que necesito pensar en como re-diseñar el algoritmo que necesito. De antemano gracias.