Está en la página 1de 15

PROYECTO DE INNOVACENTRAL

TEXTSCAN
La Manera ms fcil y rpida de copiar un documento

INTEGRANTES
Luis Gabriel Ortiz Meaurio
Derlis Florentn Pavn Alonso
Jos Ivn Sanabria Espnola

ORIENTADORA
Prof. Ing. De Los ngeles Nez

Colegio Nacional Pablo Patricio Bogarin


Direccin :Adm. Educ. Lic. Tomas Olmedo

Ao 2015

ndice
Resumen 2
Introduccin3
Justificacin del Problema3
Objetivos General y Especficos..3
Hiptesis..3
Marco Terico.4
Metodologa y Desarrollo..10
Resultados..11
Conclusin..12
Referencias y Bibliografa consultadas..13
Anexos.14

Resumen
Textscan ser una app que permitir el copiado y pegado de textos que quisiramos
obtener de forma ms fcil y sencilla en nuestros celulares inteligentes, esto se
lograr gracias a la tecnologa OCR (Optical Character Recognition) que
bsicamente en espaol significa el reconocimiento ptico de caracteres, es decir, es
el procedimiento que permite la digitalizacin de un texto a partir de un escaneo.
Cmo utilizaremos sta tecnologa para esta app? Es sencillo, utilizaremos la
aplicacin TEXTSCAN para que la cmara del Smartphone funcione como el
escner.
Para el desarrollo de la app implementaremos lenguajes de programacin como
python, que se encuentra a nivel de generar compiladores, el mismo simplifica y
agiliza la programacin, tambin es flexible y cuando escribes programas en Python
nunca debes preocuparte por detalles de bajo nivel, como manejar la memoria
empleada por tu programa.
El framework que posiblemente utilizaremos para esta app es el

IONIC, un

framework gratuito de Open Source (Cdigo Abierto) con base Apache Cordova,
construido con Sass y optimizado con Angular JS, estos tres ltimos tambin son
frameworks para el desarrollo de aplicaciones mviles que utilizan las herramientas
web genricas como Javascript, HTML5 y CSS, todos de cdigo abierto.
El objetivo de IONIC es ejercer un modelo-vista-controlador (MVC) un patrn de
arquitectura de software que separa los datos y la lgica de negocio de una
aplicacin de la interfaz de usuario y el mdulo encargado de gestionar eventos y
comunicaciones. Entre las principales caractersticas de este framework, es la
inclusin de una interfaz de lnea de comando, ya que podrs crear y compilar en
cualquier plataforma ya sea Android, iOS o Windows Phone.

Introduccin
En la actualidad la tecnologa avanza da a da, pero nosotros no la sabemos utilizar
o la utilizamos para actividades poco provechosas, entonces hoy se ha decidido
utilizar la tecnologa para la educacin y el ms fcil acceso a las informaciones o
contenidos sujetos a una revista, documento o cualquier otra fuente de textos de
inters personal.

Justificacin del Problema


Debido a los procesos numerosos que se necesitan para transportar o copiar un
documento utilizando una notebook o copiando los archivos en un pen drive, se
decidi agilizar ese mismo proceso utilizando solo un Smartphone.
De esta manera los interesados ya tendrn el texto deseado de manera que puedan
llevar y leer en el lugar y el tiempo que deseen, es decir, esta app te simplifica la vida
y te ahorra tiempo, ya que no tendrs que copiar palabra por palabra la informacin,
ni tampoco tendrs que usar una gran computadora para leerlo o editarlo despus,
con esta app poseers todo a mano, todo en tu Smartphone

Objetivo General
Desarrollar TEXTSCAN, una aplicacin mvil que bsicamente escanea el texto por
medio del enfoque de la cmara del Smartphone sobre la informacin deseada y la
aplicacin se encarga de reconocer los caracteres y guarda el texto escaneado en
un documento de tipo .txt (archivo de texto simple).

Objetivos Especficos
Identificar los requerimientos de una aplicacin Mvil
Implementar la aplicacin mvil
Realizar pruebas de sistema pertinentes, una vez finalizado el desarrollo.

Hiptesis
Los estudiantes y/o empresarios que reciben una labor especfica de copiar un
documento en un corto tiempo, tienen la dificultad de transcribir de manera exacta.
Para los que posean TEXTSCAN esto no ser ningn inconveniente.

Marco Terico
3

Qu es el OCR?
El OCR (Optical Character Recognition) es una tecnologa que trata de emular la
capacidad del ojo humano para reconocer objetos. Concretamente es un software
que permite el reconocimiento ptico de los caracteres contenidos en una imagen
(documento escaneado o fotografa), de forma que estos se vuelven comprensibles
o reconocibles para un ordenador, obteniendo como resultado final un archivo en un
formato de texto editable. El formato del archivo de salida (txt, pdf, etc.) depender
de las posibilidades que ofrezca el software. Cmo funciona el OCR? Para
reconocer los caracteres, el software inspecciona la imagen pixel a pixel, buscando
formas que coincidan con los rasgos de los caracteres. En funcin del nivel de
complejidad o grado de desarrollo del software, ste buscar coincidencias con los
caracteres y fuentes disponibles en el programa, o tratar de identificar los
caracteres a travs del anlisis de sus caractersticas, de forma que el
reconocimiento de los mismos no se limite exclusivamente a un determinado nmero
de fuentes. El OCR puede analizar los elementos del documento (bloques de texto,
imgenes, tablas), examinando los espacios en blanco y descomponiendo el texto
en lneas, palabras y caracteres, de forma que el programa puede formular distintas
hiptesis y cotejarlas con los diccionarios contenidos por el mismo (actualmente los
programas contienen diccionarios en distintos idiomas), para formar palabras y
textos completos. Aunque actualmente el OCR puede llegar a mantener la estructura
de los documentos originales en el archivo de salida, e incluso reconocer caracteres
contenidos en documentos manuscritos, diagramas, partituras, etc., no hay que
olvidar que su nivel de efectividad sigue siendo limitado, lo que hace necesaria una
posterior revisin y correccin manual del texto generado. Actualmente existe en el
mercado una amplia oferta de software OCR, cuyo nivel de sofisticacin y precio
est directamente relacionado con su precisin y efectividad en el reconocimiento de
caracteres.

Para qu se utiliza el OCR?


4

El OCR es una tecnologa transversal, aplicable en distintos mbitos y sectores para


la digitalizacin de formularios, documentos administrativos, informes, etc., ya que
las ventajas que ofrece son comunes para todos ellos. En el sector de la cultura, por
ejemplo en el mbito de la preservacin del patrimonio, el OCR se aplica
principalmente en los procesos de digitalizacin de documentos histricos, en
soporte papel o micro formas.

Qu es Python?
Python es un lenguaje de programacin creado por Guido van Rossum a principios
de los aos 90 cuyo nombre est inspirado en el grupo de cmicos ingleses
MontyPython. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que
favorece un cdigo legible. Se trata de un lenguaje interpretado o de script, con
tipado dinmico, fuertemente tipado, multiplataforma y orientado a objetos.

Lenguaje interpretado o de script


Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa
intermedio llamado intrprete, en lugar de compilar el cdigo a lenguaje mquina
que pueda comprender y ejecutar directamente una computadora (lenguajes
compilados). La ventaja de los lenguajes compilados es que su ejecucin es ms
rpida. Sin embargo los lenguajes interpretados son ms flexibles y ms portables.
Python tiene, no obstante, muchas de las caractersticas de los lenguajes
compilados, por lo que se podra decir que es semi interpretado.
En Python, como en Java y muchos otros lenguajes, el cdigo fuente se traduce a
un pseudo cdigo mquina intermedio llamado bytecode la primera vez que se
ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se
ejecutarn en sucesivas ocasiones.

Tipado dinmico
5

La caracterstica de tipado dinmico se refiere a que no es necesario declarar el tipo


de dato que va a contener una determinada variable, Introduccin 7 sino que su tipo
se determinar en tiempo de ejecucin segn el tipo del valor al que se asigne, y el
tipo de esta variable puede cambiar si se le asigna un valor de otro tipo.

Fuertemente tipado
No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es
necesario convertir de forma explcita dicha variable al nuevo tipo previamente. Por
ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o
string) no podremos tratarla como un nmero (sumar la cadena 9 y el nmero 8).
En otros lenguajes el tipo de la variable cambiara para adaptarse al comportamiento
esperado, aunque esto es ms propenso a errores.

Multiplataforma
El intrprete de Python est disponible en multitud de plataformas (UNIX, Solaris,
Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos libreras
especficas de cada plataforma nuestro programa podr correr en todos estos
sistemas sin grandes cambios.

Orientado a objetos
La orientacin a objetos es un paradigma de programacin en el que los conceptos
del mundo real relevantes para nuestro problema se trasladan a clases y objetos en
nuestro programa. La ejecucin del programa consiste en una serie de interacciones
entre los objetos. Python tambin permite la programacin imperativa, programacin
funcional y programacin orientada a aspectos.

Por qu Python?

Python es un lenguaje que todo el mundo debera conocer. Su sintaxis simple, clara
y sencilla; el tipado dinmico, el gestor de memoria, la gran cantidad de libreras
disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una
aplicacin en Python sea sencillo, muy rpido y, lo que es ms importante, divertido.
La sintaxis de Python es tan sencilla y cercana al lenguaje natural que Python para
todos 8 los programas elaborados en Python parecen pseudocdigo. Por este
motivo se trata adems de uno de los mejores lenguajes para comenzar a
programar. Python no es adecuado sin embargo para la programacin de bajo nivel
o para aplicaciones en las que el rendimiento sea crtico. Algunos casos de xito en
el uso de Python son Google, Yahoo, la NASA, Industrias Ligh&Magic, y todas las
distribuciones Linux, en las que Python cada vez representa un tanto por ciento
mayor de los programas disponible.

IONIC
Lo primero que me gustara explicar, y de forma escueta, es qu es un MVC y de
qu se compone:
El MVC
El MVC (Model-View-Controller o Modelo-Vista-Controlador), es un patrn de diseo
que separa los datos, la lgica y las interfaces de usuario. Como su nombre indica,
est separado en tres componentes: Modelo, Vista y Controlador. Est basado en la
ideologa de separacin de conceptos y cumple perfectamente con los objetivos de
los patrones de diseo.
1.-Modelo
Es la capa encargada de los datos, es decir, la que se encarga de hacer peticiones a
las bases de datos para enviar o recibir informacin. Estas bases de datos pueden
estar alojadas de forma local en nuestra app o de forma remota en un servidor
externo.

2.-Vista
Se trata del cdigo que nos permitir presentar los datos que el modelo nos

proporciona, como ejemplo podramos decir que en una aplicacin es el cdigo


HTML que nos permite mostrar la salida de los datos procesados.
3.-Controlador
Es la capa que sirve de enlace entre la vista y el modelo. Enva comandos al modelo
para actualizar su estado, y a la vista correspondiente para cambiar su presentacin.
En el caso MVVM (Modelo Vista VistaModelo) la iteraccin entre la vista y el
controlador ser en los dos sentidos, el controlador muestra los datos en la vista y si
en la vista hay un cambio de datos, se actualiza el modelo automticamente.

El frameworkIonic
IONIC es una herramienta, gratuita y open source, para el desarrollo de aplicaciones
hbridas basadas en HTML5, CSS y JS. Est construido con Sass y optimizado con
Angular JS .El objetivo de IONIC es ejercer un modelo vista-controlador (MVC),
un patrn basado en la ideologa de separacin de conceptos, que separa los datos,
la lgica y las interfaces de usuario.
Principales caractersticas

Alto rendimiento

La velocidad es importante. Tan importante que slo se nota cuando no est en tu


app. Ionic est construido para ser rpido gracias a la mnima manipulacin del
DOM, con cero jQuery y con aceleraciones de transiciones por hardware.
AngularJS&Ionic
Ionic utiliza AngularJS con el fin de crear un marco ms adecuado para desarrollar
aplicaciones ricas y robustas. Ionic no slo se ve bien, sino que su arquitectura
central es robusta y seria para el desarrollo de aplicaciones. Trabaja perfectamente
con AngularJS.

Centro nativo

Ionic se inspira en las SDK de desarrollo mviles nativos ms populares, por lo que
es fcil de entender para cualquier persona que ha construido una aplicacin nativa
para iOS o Android. Lo interesante, como sabis, es que desarrollas una vez, y
compilas para varios.

Bonito diseo

Limpio, sencillo y funcional. Ionic ha sido diseado para poder trabajar con todos
losdispositivos mviles actuales. Con muchos componentes usados en mviles,
tipografa, elementos interactivos, etc.
Un potente CLI
Con un slo comando podrs crear, construir, probar y compilar tus aplicaciones en
cualquier plataforma.
Entre las principales caractersticas de IONIC, es la inclusin de una interfaz de
lnea de comando, ya que podrs crear y compilar tus aplicaciones en cualquier
plataforma. Tambin tiene un alto rendimiento, a causa de una mnima manipulacin
del DOM(estructura de objetos que genera el navegador cuando se carga un
documento), aceleraciones de transiciones y no trabaja con JQuery.
Unos de los rasgos ms importantes y que caracterizan a IONIC es su diseo, ya
que es muy sencillo de manejar, funcional, limpio (caracterstica muy importante para
los desarrolladores) y sobre todo optimizado para trabajar en casi todos los
dispositivos mviles actuales. Una funcionalidad que ha sido incluida hace poco es
la opcin de poder desarrollar con el diseo de la interfaz Material Design, incluido
en el tan aclamado o no, versin de AndroidLollipop 5.0.

METODOLOGA Y DESARROLLO
Este proyecto se iniciel 9 de julio del 2015 para un taller sobre el concurso de
innovaciones tecnolgicas que tendr fin el 21 de septiembre del corriente.
Se realiz el trabajo de investigacin, recoleccin de datos en los laboratorios de
informtica del Colegio Nacional Pablo Patricio Bogarin en conjunto con los
profesores de informtica.
Los instrumentos utilizados fueron cuaderno, bolgrafo, computadora, pen drive y
conexin a internet.
En la primera etapa se realiz la fundamentacin del proyecto, los objetivos general
y especficos.
En la segunda fase del proyecto se investig sobre la tecnologa OCR, y luego
investigar sobre los lenguajes de programacin para aplicaciones mviles.
En la tercera etapa del

proyecto se decidi cuales serian las alternativas ms

apropiadas para realizar la aplicacin mvil.


En la cuarta y ltima fase que ser el ao entrante se realizar el desarrollo de la
aplicacin.
Las tcnicas aplicadas fueron lluvia de ideas y la recoleccin de datos.

10

RESULTADOS
Para la implementacin de este proyecto de innovacin tecnolgica utilizaremos las
ideas posibles para solucionar los problemas de la actualidad,

se ha decido

contribuir a la educacin con el desarrollo de una app, basndose en las


herramientas de programacin como python que es lenguaje interpretado o de script,
con tipado dinmico, fuertemente tipado, multiplataforma y orientado a objetos, el
frameworkionic, es un patrn de diseo que separa los datos, la lgica y las
interfaces de usuario. Para utilizar estas herramientas se ha tenido que averiguar e
interiorizarse de cada una de ellas para su correcta utilizacin.
El diseo de TEXTSCAN bsicamente es la de contar con una interfaz muy intuitiva
y fcil de manejar, adems de varias caractersticas, las funciones de entrada de
texto, la herramienta borrar y la de marcar, nos permitirn editar y modificar los
documentos para hacer todos los cambios y mejoras que consideremos oportunos.
Adems ofreceremos la posibilidad de convertir los documentos a formato PDF y la
opcin de poder compartir los documentos por correo electrnico.
Se ha tenido un tiempo de aproximadamente 50 das para la recoleccin de datos,
informaciones y soluciones, la forma en que se adquiri los conocimientos fue la
ms conocida como la autodidacta utilizando la internet y tambin consultando con
amigos programadores y profesores del rea.
No existe un amplio conocimiento en desarrollo de aplicaciones mviles en nuestro
sector acadmico, lo que genera una necesidad de una mayor investigacin y un
grado de dificultad en este tipo de investigaciones.

CONCLUSIN
11

Se lograr la realizacin de una aplicacin mvil que pueda escanear texto desde la
cmara para convertirlo en extensin .txt, siempre que podamos cumplir con la
siguiente condicin, para convertir un documento escaneado en uno editable el
documento tendr que estar en cualquiera de los formatos soportados (.jpg, .png, .gif
o PDF). Para escanearlo solo necesitaremos fotografiar con la cmara y,
preferiblemente, aumentar el contraste con alguna aplicacin de edicin de
fotografa.
Una vez escaneado y optimizado el documento, tendremos que convertir el texto de
la imagen en editable utilizando la aplicacin mvil. Cuando hayamos hecho esto ya
podremos subir el documento, el cual se habr convertido a editable siempre y
cuando el contraste del texto y el fondo de la hoja contribuyan para que la aplicacin
detecte los caracteres (letras), sabemos las limitaciones de una cmara, jams
podramos obtener los resultados como los que obtenemos con el ojo humano.

REFERENCIAS Y BIBLIOGRAFA CONSULTADA

http://www.phonegapspain.com/que-es-y-como-empezar-con-ionic-framework/
12

http://www.ticarte.com/tags/ionic
www.ceibal.edu.uy/contenidos/areas.../aportes/ python_para_todos.pdf
www.kultura.ejgv.euskadi.eus/r46-19123/es/.../pildora- OCR-2.pdf
http://dev.laptop.org/~edsiper/byteofpython_spanish/ch01s02.html

ANEXOS

13

14

También podría gustarte