Programación General > Visual Basic 6.0 e inferiores
Identificador De Billetes
elmango80:
Antes que nada saludos a todos!!! :hola:
En estos momentos me encuentro realizando una aplicación :comp: que utiliza una WebCam para tomar una fotografía a un billete, dicha imagen necesito procesarla para en primer lugar identificar el billete y posteriormente verificar que el mismo no sea falso. Para realizar la identificación del billete había pensada en hacer un patrón de una imagen tomada a cada denominación de los billetes y posteriormente comparar cada imagen nueva con los patrones guardados, el mismo lo he pensado hacer mediante un estudio del color de ciertos píxeles de la fotografía.
Pero el :argh: problema que tengo es el siguiente que pasa si la imagen nueva se toma un milímetro mas a la derecha o a la izquierda de la foto original :brickwall: en ese caso ya los píxeles no van a coincidir, también he pensado que con el uso de los billetes los colores van cambiando y los mas mínimos cambios en los colores van a hacer que los patrones me fallen :bad: , he optado por abandonar :hitcomp: esta idea pero por los momentos no se me ocurre otra forma para identificar las imágenes. Si alguien tiene alguna idea mejor o alguna idea agradecería que me la enviara por este medio y si me disponen su ayuda mucho mejor que yo también los ayudare en lo que pueda :beer:
:devil: ------------------ :angel:
Brroz:
Hola elmango80.
Identificar los billetes me parece más o menos factible, pero comprobar que sean falsos o no... ya me parece casi imposible, a no ser que se trate de falsificaciones realmente chapuceras.
El tema del posible desplazamiento lo podrías corregir usando un color de fondo adecuado (blanco por ejemplo). Tendrías que identificar el cambio de color en dos líneas por cada lado del billete, luego identificar las rectas que por cada lado unirían los dos puntos en los que se ha producido el cambio de color... Cuando acabes este proceso obtendrás un rectácngulo que enmarca el billete, a partir de cuyos bordes podrías iniciar cualquier posible indentificación.
En lo relativo al cambio de color, puedes usar un intervalo para cada color rgb en el que se reconozca el color del billete, ya que el color suele variar bastante entre los diferentes valores.
Esto así es lo que se me ocurre a bote pronto.
Suerte.
elmango80:
Hola Brroz!
Para identificar si los billetes son falsos o no es muy facil, porque tengo los patrones de seguiridad de los billetes y los patrones en luz ultra violeta asi que eso no es problema, ademas la intencion tampoco es hacer algo tan sofisticado en cuanto a eso.
El problema es que tambien pense en eso de buscar los borde, pero el problema esta en que si el billete esta movido diagonalmente hay genera un problema, porque ya las lineas verticales que me dices no van a coincidir... no se cual sea la factivilidad de hacer el reconocimento por medio de los pixeles y no se otra forma de hacerlo. :think:
Gracias por tu opinion!!! :good:
Brroz:
Hola elmango80.
Sobre lo de las líneas... da igual que el billete esté torcido (hasta cierto limite, claro). Las líneas no tienen porque ser horizontales o verticales, podría ser diagonales perfectamete, se trata de geometría pura. Considera el fondo sobre el que se fotografían los billetes como un sistema de coordenadas cartesianas, utilza la ecuación de la recta que pasa por dos puntos para hallar las rectas que corresponden a cada uno de los bordes y hallando los puntos de corte entre estas rectas, los vértices.
Puedes incluso simplificar este proceso si conoces las medidas del billete, indentificando sólamente dos rectas.
Suerte.
Brroz:
Claro está que para recorrer los puntos de la imagen y recuperar su color, deberás cambiar el ciclo, y en vez de usar el típico incrementando el valor para x o y mediante un bucle, deberás usar la ecuación de la recta en su forma explícita para según el valor de x, obtener el valor para y, o viceversa.
También te prevengo que para una tarea de este estilo, tal vez deberías considerar usar algun lenguaje de más bajo nivel que VB, más que nada por un tema de rapidez...
Chao.
Navegación
[#] Página Siguiente
Ir a la versión completa