Tengo como proyecto de escuela, ver como identificar figuras en una imagen, es decir, identificar cuantos círculos hay en tal imagen, cuantos cuadrados y cuantos tringulos. Quisiera saber de algún manual o ejemplo donde pueda guiarme para estudiar esto y resolverlo, ¿cómo se hace la búsqueda de esos objetos en la imagen?.
1 respuesta
Respuesta de alejosoft
1
1
alejosoft, 3 años de experiencia como Ingeniero de Sistemas, I speak English...
Esta interesante tu proyecto... nunca he hecho algo así antes, pero estuve investigando y encontré esto... para usar este código debes importar la librería java. Awt. Image: public void handleSinglePixel(int x, int y, int pixel) { int alpha = (pixel >> 24) & 0xff; int red = (pixel >> 16) & 0xff; int green = (pixel >> 8) & 0xff; int blue = (pixel ) & 0xff; // Aqui tenemos al pixel descompuesto en cada componente RGB y el alpha... } public void handlepixels(Image img, int x, int y, int w, int h) { int[] pixels = new int[w * h]; PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w); try { pg.grabPixels(); } catch (InterruptedException e) { System.err.println("interrupted waiting for pixels!"); return; } if ((pg.getStatus() & ImageObserver.ABORT) != 0) { System.err.println("image fetch aborted or errored"); return; } for (int j = 0; j < h; j++) { for (int i = 0; i < w; i++) { handleSinglePixel(x+i, y+j, pixels[j * w + i]); } } } Lo que debes hacer, una vez empieces a descomponer la imagen en cada pixel, es detectar cuando el pixel cambie de color ya teniendo las variables R G B por separado puedes fácilmente saber cuando el color cambia... se me ocurre usar una matriz o un java. Awt. Image. DataBufferInt para más fácilmente recorrer el array e identificar las figuras en tu imagen. Eso es todo lo que puedo hacer apra ayudarte, espero que te sirva... y suerte!
Muchísimas gracias!. En verdad!, este aporte es magnifico, solo quisiera saber que opinas con la metodología que voy a emplear: Veras ya obteniendo el rango de colores de la imagen por pixel, estos los guardo en una matrix, entonces recorro esta matrix ( de pixeles) en búsqueda de aquellos pixeles ( las figuras son en color negro) de color negro, entonces cuando identifique un pixel negro, compruebo o pregunto por los siguientes pixeles a su alrededor en la matriz para seguir el patrón que forma las figuras ( son figuras con paredes rectas). Bueno. Estos valores en pixeles negro que obtuve del esscnaeo de la matriz, los voy a comparar con otra matriz que defino, esta tiene ya un valor de pixeles de forma de la figura, entonces de ser similares mandar respuesta! , jo jo jo. ¿Cómo ves? ¿Crees qué este perdido en mi búsqueda? También vi algo sobre Java.JAI, que e spara el tratamiento de imágenes, pero no se si me ayude en mi proyecto. DE antemano gracias!!! ; D
El comparar tu matriz con otra matriz de figuras predeterminadas me parece una salida buena, pero debes tener en cuenta que solo funcionara si las figuras son exactamente iguales a las de tu matrix... En cuanto a los Java. JAI no se nada de eso, pero parece que no necesitarías usar nada más si lo de las matrices funciona... así que animo casi lo logras :D... suerte!
Finalize esta pregunta! Si no veré en la opción de tener que cerrarla.
Han pasado varios días y veo que no has finalizado la pregunta... Desafortunadamente los de Todoexpertos han quitado la opción del cerrar la pregunta para los expertos... así que tengo que pedirte que por favor finalices esta pregunta... la otra opción que tengo es descartarla pero seria injusto porque nadie más podrá ver esta pregunta y yo no recibiré mi puntuación por tener la gentileza de tratar de ayudarte. Lo que faltaba, los expertos rogándole a los usuarios que finalicen las preguntas... ¿qué es esto Dios mio?
Saludos: De antemano una disculpa, no frecuento hacer o dejar sin calificación y des atendida alguna consulta y mucho menos por aquellos que me hacer el enorme favor de ayudarme es tan solo que no he dado tiempo pues me han mantenido completamente atareado. Espero me comprenda, y si efectivamente ando en proceso del desarrollo, su aportación fue valiosísima y dio pauta para nuevas interrogantes. Pero bueno, al termino del proyecto escolar, ( que ya es mero) pondré el método que aplicamos. Gracias! Mi correo es [email protected]