Git Product home page Git Product logo

reconocedordebilletes's Introduction

Proyecto Reconocedor de Billetes

Este proyecto de software libre consiste en un lector de billetes para personas en situación de discapacidad visual.

Su objetivo principal es desarrollar una aplicación para dispositivos móviles capaz de reconocer billetes argentinos y comunicar los resultados por medios auditivos.

Actualmente contamos con un prototipo funcionando en PC (Ubuntu) y en dispositivos moviles (android 4.0.3) http://44jaiio.sadio.org.ar/sites/default/files/sts252-263.pdf

Ingreso a la comunidad

Con el objetivo de impulsar el desarrollo de aplicaciones de software libres y colaborativas, cualquier persona interesada puede participar en la comunidad.

Para esto, deben enviar un mail al responsable del proyecto ([email protected]) e indicar los siguientes items:

  • Cómo encontró la comunidad y porqué decidió participar.
  • Cómo le gustaría aportar dentro del proyecto.
  • Si posee conocimientos en herramientas de desarrollo, indique cuales.
  • Breve descripción de la persona.

Por favor, revisa nuestra wiki para encontrar toda la informacion necesaria para testers, desarrolladores y usuarios.

https://github.com/javierbrk/reconocedordebilletes/wiki

Referencias

Procesamiento de imagenes en general http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf

Carlos Miguel Correia da Costa, (2014) "Multiview banknote recognition with component and shape analysis" http://www.kjer.in/archives/vol2/issue1/61.%20Currency%20Recognition%20in%20Mobile%20Application%20for%20Visually%20Challenged.pdf

Ilya Toytman Jonathan Thambidurai, "Banknote recognition on Android platform" https://stacks.stanford.edu/file/druid:my512gb2187/Toytman_Thambidurai_Coin_counting_with_Android.pdf

Euro money bill recognition vgg.fiit.stuba.sk/wordpress/2013-07/euro-money-bill-recognition/

reconocedordebilletes's People

Contributors

antonellasagripanti avatar ehames avatar estebandres avatar gmjuanchii avatar javierbrk avatar nanomoretti avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

reconocedordebilletes's Issues

Otorgar permisos al instalar la aplicacion

Problema

Luego de instalar y descargar la aplicacion, al ejecutarla arroja un mensaje de error y se cierra. Esto se debe a que no posee los permisos para utilizar la camara.

Mejora

La aplicación debería mostrar un cartel para otorgar permisos de almacenamiento y de utilización de la cámara luego de instalarla o, en su defecto, al ejecutar por primera vez la app.
Esto evitaría que el usuario deba acceder a ajustes y otorgar los permisos manualmente.

Revisar la visibilidad de los atributos declarados en la clase Billete

Todos los atributos en la clase Billete estan declarados como public . Al no declarar nada explicitamente se toma como atributo public por defecto . Esto puede ser peligroso ya que cualquier objecto de cualquier clase puede modificar los valores de dichos atributos . Por lo que propongo que esos atributos sean privados y que se pueda acceder a ellos mediante getter y setters.
Adjunto una imagen para aclarar de que atributos estoy hablando
image

Aumento del tiempo de procesamiento con librerias estáticas

Existe un nuevo branch con una versión de la aplicación que puede ser usada en una amplia variedad de dispositivos. Sin embargo e aquellos teléfonos donde se pueden probar las dos versiones (lib estaticas vs lib dinamica) la versión de la aplicación que utiliza las librerías dinámicas es mas rápida.

Comentar el Codigo

Javier, con mis compañeros Guadalupe Vocos y Juan Cruz Diaz nos ofrecemos a realizar el comentariado (si es válido decirlo así) del código, si es de tu agrado y agrega valor.

El primer paso sería establecer reglas de como se va a llevar a cabo, haríamos una breve descripción, explicando que se va a comentar y que no, como lo vamos a comentar, y donde (si en el código, o en documento aparte como habías sugerido).

Si nos das el ok, te preparamos estas reglas de comentariado, para que las revises, acotes y aceptes, así nos ponemos a trabajar en ellos.

Desde ya, muchas gracias. Saludos

Mala comparación de coincidencias de keypoints en SimpleBillSearch - Backend

He notado que en el método reconocerDorsos() de la clase SimpleBillSearch, la instrucción -- > matcher.knnMatch(haystack.get(j).getDDorso(), needle.getDFrente(), matches, 2);
tiene un posible error.

El mismo, a mi criterio, es que está comparando el dorso del template actual donde está parado en la lista de templates con el frente del billete que capturó por cámara.

Esta comparación no es errónea? Los dorsos de los templates, en este método, deben ser comparados con el dorso del billete capturado.

Probar otros detectores de features

Distintos detectores de OPENCV
"FAST" – FastFeatureDetector
"STAR" – StarFeatureDetector
"SIFT" – SIFT (nonfree module)
"SURF" – SURF (nonfree module)
"ORB" – ORB
"BRISK" – BRISK
"MSER" – MSER
"GFTT" – GoodFeaturesToTrackDetector
"HARRIS" – GoodFeaturesToTrackDetector with Harris detector enabled
"Dense" – DenseFeatureDetector
"SimpleBlob" – SimpleBlobDetector

Probar momento de encendido de flash

Analizar la conveniencia de encender el flash solamente en el momento en que se toca la pantalla para reconocer el billete. Verificar que no haya una degradación en la capacidad de reconocimiento (por cuestiones de enfoque por ejemplo).

No funciona en Nexus 6P

Como OpenCV no está linkeada estáticamente, la aplicación no se puede ejecutar en el Nexus 6P.

Resize en cada frame

En lugar de realizar resize para cada frame, cambiar para que se active la función solo después del touch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.