Sudoku Downloader and Recognizer

Slides:



Advertisements
Presentaciones similares
Escribir en un wiki. Insertar imágenes y enlaces
Advertisements

Windows.
Introducción al Procesamiento de Imagenes
EDICIÓN DE IMÁGENES Para editar la imagen he utilizado la página web de picnik Pinchamos en comienza ahora y seleccionamos la foto que vamos a editar.
Sistemas de Graficación
ESCRIBIR, INSERTAR VÍNCULOS E IMÁGENES en un WIKI Adela Fernández, Irene González, Marimar Pérez.
Tecnología Biométrica: Escritura Manuscrita
Francisca Montañez Muñoz
Búsqueda con retroceso
Insertar Mónica Rodríguez.
Publisher 2010 Paloma Ozores Díez.
Tema: Técnicas Básicas Excel (III) Trucos, opciones y personalización de Excel Índice: 1 Vínculos absolutos y relativos, conectando datos de Excel con.
Realizado por: Alberto Laguarta Calvo Sergio Rios Gil
Sistema de Información de Recursos Gubernamentales
Filtros y Detectores de Borde
Sonia Valenciano Rufet Sergio Cala Cordero Antonio Ángel González Jiménez Claudia Falcón Borrero.
9. Detección de Circunferencias. Transformada de Hough
8. Detección de Rectas. Transformada de Hough
Juan Pablo Vásquez Ralf Wilke 18 de Diciembre 2008.
Windows.
DETERMINANTES Autora: Mª Soledad Vega Fernández
Lic. Manuel Álvaro Pacheco Hoyo
1 5. La Búsqueda (I) Los ordenadores almacenan gran cantidad de información…  Hay que clasificarla y ordenarla para encontrarla con facilidad. ¿Y si no.
Proyecto NETeus 1.0 Diseño y Programación Orientada a Objetos. Primer Semestre 2004 Por Solange Ahumada Fierro.
La segmentación de imágenes se ocupa de descomponer una imagen en sus partes constituyentes, es decir, los objetos de interés y el fondo, basándose en.
Programación Interactiva Eventos y Swing Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.

¿Qué es una hoja de cálculo?
Reconocedor de Señales de Tráfico Verticales
Evaluación topológica de métodos de binarización
Elementos de una tabla:
Informática Médica: Procesamiento de imágenes
Adelgazamiento de Imágenes RGB
CARPLATE Reconocimiento del marco de la matrícula de un coche
Microsoft OFFICE Word MBA. Lida Loor Macías.
Características básicas de las presentaciones
INTERFASES DE ACCES Colegio de Bachilleres Plantel 13 Xochimilco Tepepan Alumnos: González Rosas Citlalmina Romero Ortega Roberto Grupo:303 Equipo:08.
1 Image Segmentation Chapter 9 Dr. Mario Chacón DSP & Vision Lab.
Sistemas de E/S, Programada por Interrupciones su Gestión
Procesamiento de Imágenes
Tel Microsoft Word Duración 25 hrs. XIV. TRABAJAR CON TÍTULOS Agregar títulos a una ilustración Agregar.
Microsoft Excel INTRODUCCIÓN
Microsoft PowerPoint Duración 20 hrs. Agregar y eliminar elementos de un gráfico Cambiar el relleno del área del gráfico Formatear la serie de datos de.
MICROSOFT EXCEL.
Juan Antonio Cano Salado Borja Moreno Fernández
Clase 7 Tecnología de la Comunicación II Lics. en Com. Social y Periodismo F AC. DE C S. H UMANAS. UNSL. Sitio Web: construcción en In Design.
Clase 6 : Accesorio y herramientas de Windows 7
INSERCION DE FILAS Y COLUMNAS
Accesorios de Windows 7 Son una colección de programas de aplicación que vienen incorporados en Windows 7. Se acceden a través de: inicio-todos los programas.Accesorios.
Ricardo Gómez Gómez Ivan Duque Camacho
el programa (de computación)
Unidad 7 Escritorio de Windows.
DISEÑAR Y ELABORAR ALGORITMOS NOMBRE: LAURA PAEZ GARCIA GRADO Y GRUPO: 1 “3” MATERIA: INFORMÁTICA Y COMPUTACIÓN MAESTRO: ÁNGEL BUENDÍA TURNO: VESPERTINO.
Mediacentro Clase #2 de Excel I. Temario Insertar y eliminar: columnas filas y celdas Formatos de Celdas Formato de Filas, columnas y Hojas.
Matrices Pág. 1. Matrices Pág. 2 Se llama matriz traspuesta de A, y se representa por A t a la matriz que resulta de intercambiar las filas y las columnas.
UNIDAD I 1.1 Conceptos y Aplicaciones de la hoja de cálculo
Clase #3 de Access. Temario Consultas Consultas Creación y manejos de consultas Creación y manejos de consultas Macros Macros Relaciones Relaciones.
Fecha : Tema:Insertar o crear tablas en Word.
Garantías de proveedores de cajeros.   A. Abra la presentación Garantías  B. Vaya a la diapositiva 2, seleccione las celdas de los encabezados y.
Violeta Bueno Mondaca Yadira Saray García Anaya Magdalena Jeanette García Aguilar Maribel Linares Nolasco.
Partes de la ventana Access
Área Académica: Informática Tema: Creación y edición de video Profesor: Lic. en Comp. Marco Antonio Zamora Lucio Periodo: enero-junio de 2015.
Caso Clínico:. Datos del autor … Información sobre el paciente (edad, sexo, etc) …
CURSO DE FORMACIÓN AL PORTAL WEB DE LA UNIVERSIDAD CARLOS III DE MADRID ORACLE PORTAL Manual disponible en:
Microsoft Word Procesador de Textos
Procesador de textos. Componentes de Word. Multiversidad Latinoamericana Campus Celaya Bachillerato Informática I Prof. Brayan Tula Villanueva 1er. Semestre.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Prácticas de Cierre MOS Excel 2010 │ Microsoft Office Specialist Microsoft Office Specialist: Excel 2010 Cada diapositiva contiene un cuadro de color.
ENRIQUE CAÑO MARÍN MARCOS MAROTO GÓMEZ
Transcripción de la presentación:

Sudoku Downloader and Recognizer Autor: Pedro Evaristo González Sánchez

Actividad principal (Portrait) Reconocimiento Vista personalizada Jugabilidad Backtracking Descargar tablero

Actividad principal (Landscape)

Vista personalizada (Custom view) Paint y Canvas para el dibujo de líneas, background y números Adaptable ( OnSizeChanged ) Autogestión de eventos ( onTouchEvent, onKeypressed ) Interacción con la actividad principal ( contiene la Actividad )

Actividad principal - Custom View La Actividad instancia la Vista Le atribuye los atributos sensoriales (Focusable…) Cuando se pulsa el botón de un número, la Actividad recibe la celda actual “tocada” Actualiza el Sudoku y le ordena a la vista que se pinte ( onDraw() e invalidate() )

Clase Sudoku (I) Matriz [9][9] de Enteros Sobrecarga del constructor ( String ) Para determinadas situaciones, devuelve una cadena que contiene todas las posiciones del Sudoku ( Bundle y Comunicación entre Actividades) Comprobación de vecindad ( fila, columna y bloque )

Clase Sudoku II ( Backtracking ) Si estás en la casilla (9,9) => Finaliza Si encuentras un dígito, continua a la casilla siguiente Para cada valor 1..9 Si cumple reglas de vecindad actualiza esta posición y Sudoku(i+1,j+1) Si no encuentras candidato, restaura y vuelve una posición atrás

Download Activity (I) Tenemos un tablero alojado en un servidor web Tablero “bien formado” incluido en un archivo txt Queremos llevarlo a la aplicación para jugar. Una forma de actualización de la misma.

Download Activity (II)

3. Reconocimiento del Sudoku 3.0 Conceptos previos dependientes de Android 3.1 Captura de la imagen 3.2 Procesamiento de la imagen (OpenCV) 3.3 Optical Chracter Recognition (OCR) Tesseract

3.0 Conceptos previos ( Android ) SDK y OpenCV Library (OpenCV) NDK (Native Developing Kit) ( Tesseract ) Construir las librerias y referenciarlas a nuestra aplicación

3.1 Captura de la imagen Conectar con el Intent que se encarga de capturar imágenes Capturamos y guardar la imagen en un archivo temporal Pre-procesarla => Buscamos equilibrio entre buena calidad de imagen y Computabilidad.

3.2 Procesamiento de la Imagen (I) Primera gran controversia, la imagen capturada tiene perspectiva El concepto genérico es que procesamos a dos niveles: (RGB y GRAY)

Procesamiento de la Imagen (II) Realizamos una detección de bordes A continuación, buscamos el contorno más grande que incluye la imagen. (ROI)

Procesamiento de la Imagen (III) Aplicamos el algoritmo de Hough para la localización de las líneas en el tablero. El procesamiento de líneas tiene dos tareas fundamentales: Cada línea será eliminada, pintándolas del color que proceda en cada tipo de imagen. Cuando vaya a dibujar una línea tendré en cuenta si el comienzo o el final de la misma está en alguna esquina.

Procesamiento de la Imagen (IV) Cálculo de la matriz que define la transformación de perspectiva necesaria para pasar de las esquinas del Sudoku a las esquinas de la imagen completa. Aplicación de una WarpPerspective con dicha matriz.

Procesamiento de la Imagen (V) Es el momento de descomponer el tablero en celdas para poder procesarlas una a una.

Procesamiento de la Imagen (VI) En cada una de las celdas volvemos a realizar un procesamiento paralelo. ( Ahora pensando en las exigencias de Tesseract ) Equalizamos Histograma Threshold (Binarización) Suavizado(Smooth) + Dilatación findContours()

Tesseract ( OCR ) ¡No esperar milagros!. Es necesario un buen procesamiento Acotar diccionario solo a dígitos (1..9) Por cada número liberar memoria tanto de la imagen como del objeto Base de Tesseract. Hay menos recursos (teléfono). Tesseract 6

Gracias!!!. Hasta pronto!.