Reconocimiento de monedas en Android
Actualmente estoy desarrollando una aplicación de Android que es capaz de tomar una imagen existente de una moneda, o usar una cámara incorporada para escanear una sola moneda (muy parecido a Google Goggles). Estoy utilizando OpenCV para Android.
Mi pregunta es la siguiente: ¿Qué método (s) sería más apropiado para realizar el reconocimiento de monedas en Android con OpenCV?
- Cortar la imagen después de seleccionar el área mediante la detección de bordes en android
- Procesamiento de datos de la vista previa de la cámara con Android L y Camera2 API
- Android: Imagen sobre imagen
- Biblioteca de procesamiento de imágenes para Android?
- ¿Cómo manejar la limitación de memoria de la GPU para el procesamiento de imágenes de alta resolución en la GPU?
El método que he probado hasta ahora está por debajo (tal vez lo estoy haciendo mal, o simplemente estoy bajando por la ruta equivocada por completo)
Actualmente estoy utilizando OpenCV para Android (no código nativo!) Y estoy usando varios algoritmos de detección de características para identificar puntos clave en una imagen (es decir, ORB, FAST, STAR). Creí que sería simplemente una cuestión de calcular la distancia euclidiana entre cada uno de estos puntos clave dentro de una imagen extraída y un conjunto de datos de prueba conocidos para identificar las imágenes más similares (y por lo tanto reconocer la moneda), pero resulta que este Método por sí solo no es apropiado ya que los efectos como la iluminación, la rotación de monedas, etc. tienen demasiado efecto sobre la extracción de características (además de las monedas tienen características sorprendentemente similares …)
En términos generales, estoy buscando consejo sobre si alguna forma de procesamiento de imágenes previas sería útil? ¿Qué métodos alternativos están disponibles? O cualquier consejo sobre cómo mejorar mis métodos actuales.
NOTA: He visto un montón de documentos por ahí sobre la detección de monedas, pero estoy mirando el reconocimiento de monedas específicamente.
¡Gracias por adelantado!
- Comparar dos imágenes en android
- OpenCV para ANDROID comparar imagen
- Uso de ImageMagick en mi aplicación Android
- Primeros pasos para crear un efecto de chroma key utilizando la cámara android
- Uso de la clase EffectFactory en mapa de bits - Android
- Recortar parte particular de la imagen en android
- Cómo convertir una imagen en escala de grises?
- Android: BitmapFactory.decodeByteArray ofrece bitmap pixelado
OpenCV es un buen comienzo. Simplemente eche un vistazo a este documento: http://www.inf.u-szeged.hu/~ssip/2006/projects/team6/coin.pdf
Edit: Compruebe este hilo Reformar la moneda ruidosa en un círculo
Sí, no estoy seguro de extracción de funciones funcionará bien en algo tan pequeño (y brillante como monedas) con una cámara como los de los teléfonos. Son buenos, pero no tan buenos.
Usted puede ser capaz de hacer somehting donde reconoce los colores y tamaños relativos de las monedas para determinar lo que son las monedas. Necesitarías monedas múltiples en la escena para que funcione, sin embargo.
- Múltiples cargadores con LoaderManager, no consiguiendo derecho Cargador
- ListView dentro de otro ListView