Como saltar a una parte anterior del programa para cambiar un dato en una sentencia if
Publicado por Gianna (5 intervenciones) el 22/06/2012 22:57:54
Hola,
tengo una duda, estoy haciendo un programa que obtiene el codigo de cadena de un objeto presente en una imagen.
Como el objeto esta siempre en el mismo sitio, aplico una mascara a la imagen de forma que la zona donde esta mi objeto es multiplicada por 1 y el resto por 0.
A partir de aqui umbralizo para quedarme solo con el objeto y luego obtengo el codigo de cadena.
Como el programa tiene que funcionar para cualquier imagen de entrada, el nivel de umbralizacion cambia dependiendo del color del fondo.
Mi problema es que algunas veces el fondo es muy parecido al color del objeto, y me quedan pixeles blancos sueltos, y como el el codigo cadena se calcula a partir del primer pixel no-negro de la imagen (recorriendo el perimetro del objeto), lo que obtengo no es el codigo cadena de mi objeto sino de unos pocos pixeles (una linea de 4 pixeles por ejemplo).
Lo que quisiera es, una vez obtenido el codigo cadena, si éste no es el de mi objeto, volver al punto del programa donde se hace la umbralizacion, cambiar el nivel umbral y repetir el calculo del codigo cadena.
Agradecería muchísimo si alguien pudiera ayudarme.
Gianna.
tengo una duda, estoy haciendo un programa que obtiene el codigo de cadena de un objeto presente en una imagen.
Como el objeto esta siempre en el mismo sitio, aplico una mascara a la imagen de forma que la zona donde esta mi objeto es multiplicada por 1 y el resto por 0.
A partir de aqui umbralizo para quedarme solo con el objeto y luego obtengo el codigo de cadena.
Como el programa tiene que funcionar para cualquier imagen de entrada, el nivel de umbralizacion cambia dependiendo del color del fondo.
Mi problema es que algunas veces el fondo es muy parecido al color del objeto, y me quedan pixeles blancos sueltos, y como el el codigo cadena se calcula a partir del primer pixel no-negro de la imagen (recorriendo el perimetro del objeto), lo que obtengo no es el codigo cadena de mi objeto sino de unos pocos pixeles (una linea de 4 pixeles por ejemplo).
Lo que quisiera es, una vez obtenido el codigo cadena, si éste no es el de mi objeto, volver al punto del programa donde se hace la umbralizacion, cambiar el nivel umbral y repetir el calculo del codigo cadena.
Agradecería muchísimo si alguien pudiera ayudarme.
Gianna.
Valora esta pregunta
0