Вы находитесь на странице: 1из 28

RECONOCIMIENTO DE FIGURAS GEOMTRICAS A TRAVS DE UNA WEBCAM CON

OPENCV.



JUAN GABRIEL TAMAYO ZULUAGA.




UNIVERSIDAD DE SAN BUENAVENTURA
SECCIONAL MEDELLN
FACULTAD DE INGENIERAS
INGENIERIA DE SISTEMAS
MEDELLN - ANTIOQUIA
2012





RECONOCIMIENTO DE FIGURAS GEOMTRICAS A TRAVS DE UNA WEBCAM CON
OPENCV.



JUAN GABRIEL TAMAYO ZULUAGA.


Proyecto de grado presentado para optar al ttulo de ingeniero de sistemas.

Asesor
Carlos Arturo Castro Castro.


UNIVERSIDAD DE SAN BUENAVENTURA
SECCIONAL MEDELLN
FACULTAD DE INGENIERAS
INGENIERA DE SISTEMAS
MEDELLN - ANTIOQUIA
2012






CONTENIDO.

1. JUSTIFICACIN .............................................................................................................................4
2. PLANTEAMIENTO DEL PROBLEMA ...................................................................................................5
3. OBJETIVO GENERAL ..........................................................................................................................7
4. OBJETIVOS ESPECFICOS ...................................................................................................................7
5. MARCO REFERENCIAL ......................................................................................................................8
5.1. DEFINICIN DE CONCEPTOS BSICOS .............................................................................8
6. DISEO METODOLGICO.............................................................................................................. 13
7. METODOLOGA DESARROLLO DE SOFTWARE............................................................................... 14
8. ESQUEMA TEMTICO ................................................................................................................ 14
8.1. INSTALACIN Y MANEJO DE OPENCV BAJO WINDOWS. .................................................. 14
8.2. RECONOCIMIENTO DE FIGURAS GEOMTRICAS SIMPLES A TRAVS DE UNA WEBCAM. 16
9. CONCLUSIONES ............................................................................................................................. 20
10. TRABAJO FUTURO ....................................................................................................................... 22
11. REFERENCIAS BIBLIOGRFICAS ................................................................................................... 22
12. ANEXOS ....................................................................................................................................... 22


4


1. JUSTIFICACIN.

De acuerdo con las pruebas del saber, en su evaluacin en estudiantes de 5, realizadas
en el 2009 en el rea de matemticas, el 31% de los estudiantes demuestran
competencias de nivel mnimo, mientras que el 41% presenta competencias de nivel
insuficiente, y solamente el 8% de los estudiantes se encuentra en un nivel avanzado.
Entre las tareas especficas que puede realizar un estudiante con un nivel mnimo estn:
reconocer la congruencia entre dos figuras geomtricas; expresar simblicamente algunas
operaciones a partir de un enunciado grfico o verbal; identificar y utilizar el plano
cartesiano (ICFES SABER 5 y 9 2009. RESULTADOS NACIONALES[1]).
Se pretende crear un objeto de aprendizaje enfocado a estudiantes de primaria, aplicado
a la geometra, con el fin de ayudarles a retener informacin de las figuras de una manera
entretenida y altamente dinmica mediante la visin por computador.
La funcin de la visin por computador es el reconocimiento de objetos fsicos a travs de
una imagen, interactuando comnmente con cmaras web. A travs de este mtodo, se
pretende hacer que el estudiante site una figura geomtrica simple hecha en madera
frente a la cmara web. La tarea del objeto de aprendizaje ser identificar la figura a
travs de la cmara y caracterizarla. El objeto de aprendizaje es entonces la combinacin
de una interfaz de software amigable e intuitiva, su interaccin y operaciones con la
cmara web, y su interaccin con el usuario.



5


2. PLANTEAMIENTO DEL PROBLEMA.

El Programa Internacional para la Evaluacin de Estudiantes (PISA) es una iniciativa de la
Organizacin para la Cooperacin y el Desarrollo Econmico (OCDE). Su objetivo es la
elaboracin de indicadores de calidad en la educacin de los pases participantes y
monitorear sus avances en el tiempo. Las competencias que evala son: lectura, ciencias
y matemticas.
Segn el PISA, en el 2009 Colombia se encuentra entre los pases con puntajes ms
bajo, lo que cuestiona la calidad de la educacin impartida en los establecimientos
educativos. La evaluacin fue realizada en 65 pases en estudiantes de 15 aos. Sus
resultados para Colombia fueron los siguientes:
Slo el 17% de los resultados obtenidos se explican por las condiciones de
pobreza, lo que indica que sta no es la nica causa de dichos resultados. El
factor principal es la manera como se les ensea a los estudiantes dentro de
las aulas de clase.
Las nias presentan mayores dificultades en matemticas y ciencias con
respecto a los nios, pero tienen mayor facilidad en cuanto a lectura.
El bajo nivel de lectura va ligado a los estudiantes repitentes.

Colombia ha participado en el PISA en dos ocasiones: en el 2006 y 2009. Segn el
informe, respecto a la ltima participacin de Colombia en el PISA, los estudiantes han
tenido mejoras en el promedio (28 puntos de aumento respecto al 2006 en lectura. 14
puntos de aumento en ciencias y 11 puntos de aumento en matemticas). Sin embargo, a
este ritmo de crecimiento, le tomara aproximadamente ocho aos alcanzar el nivel actual
de los pases que conforman la OCDE y casi diecisis aos el nivel actual de Shanghi
(primer pas en la lista de promedios del PISA).
Una buena lectura es una buena base para que los estudiantes logren desarrollar
opiniones crticas y propias frente a diferentes problemas y les ayuda a tener un mejor
desempeo en la sociedad.
Los resultados de lectura del PISA indican que el 47% de los estudiantes estn por debajo
del nivel mnimo aceptable segn los estndares del PISA. Esto indica que los estudiantes
son capaces de leer textos sencillos y entender problemas cotidianos, pero los dificulta
extraer informacin implcita de textos complejos, as como tambin la buena
argumentacin de ideas.

6

En cuanto a los niveles de pobreza, el informe revela que no es el nico factor. Slo el
17% de los resultados obtenidos est ligado a las condiciones socioeconmicas de los
estudiantes. Sin embargo, revela que un factor fundamental en los logros de los
estudiantes es la escuela: docentes preparados, buen clima escolar, recursos suficientes
para el trabajo pedaggico, motivacin y proactividad por parte de los estudiantes, son
factores determinantes a la hora de obtener buenos resultados (Centro Virtual de Noticias
de la Educacin. Colombia en PISA 2009[2]).

Se hace necesario entonces un cambio de paradigma a la hora de ensear con el fin de
tener al estudiante interesado, especialmente en primaria, donde la atencin de los
estudiantes suele ser menor. Es aqu donde entra en juego la visin por computador a
travs de una cmara web, como manera dinmica de ensear a los estudiantes.
Con la construccin de un objeto de aprendizaje que pueda interactuar con el estudiante
para la enseanza de la geometra euclidiana, utilizando como base el procesamiento
digital de imgenes, se pretende mejorar la rapidez con la que el estudiante aprende. Al
ser el objeto de aprendizaje altamente dinmico y divertido, permitir al estudiante
aprender los conceptos bsicos de geometra de manera ms intuitiva, pues har que el
estudiante tenga una disposicin ms abierta y menos tensa.

Al tratarse de un proyecto nuevo en la Universidad, hubo una curva de aprendizaje, por
este motivo el presente trabajo slo llegar hasta el reconocimiento de figuras
geomtricas bsicas a travs de la cmara web.

7


3. OBJETIVO GENERAL.

Construir un reconocedor de figuras geomtricas simples a travs de una cmara web
mediante la visin por computador.
.
4. OBJETIVOS ESPECFICOS.

Descargar e instalar la librera libre OpenCV para el trabajo de visin por computador
bajo Windows.

Desarrollar algoritmos sencillos que permitan el reconocimiento simple de objetos
mediante la segmentacin de imgenes.

Desarrollar algoritmos mediante el procesamiento digital de imgenes y OpenCV, que
permitan la identificacin de figuras geomtricas simples en tiempo real a travs de
una webcam.

8


5. MARCO REFERENCIAL


5.1. DEFINICIN DE CONCEPTOS BSICOS.

Qu es una imagen?
Aunque una imagen es la reproduccin de la figura de un objeto por la combinacin de los
rayos de luz que inciden en l, dentro de un computador una imagen (o imagen digital), no
es ms que una gran secuencia de ceros y unos que pueden ser ledos y modificados
como se desee. Dicho en trminos tcnicos, una imagen digital es una representacin
numrica binaria de una imagen del mundo real en una matriz bidimensional, la cual
puede ser recorrida mediante ciclos anidados dentro de un algoritmo.
El tamao de las imgenes, se define en pixeles; stos a su vez se definen por su brillo o
color. Las imgenes contienen tres canales distintos: Rojo, Verde y Azul, o conocidos
simplemente como RGB (por sus siglas en ingls: Red, Green, Blue). Cada canal toma un
valor entre 0 (negro) y 255 (blanco); por ejemplo, un pixel con valores R = 255, G = 255, B
= 255, sera un pixel completamente blanco; mientras que uno con valores R = 255, G = 0
y B = 0, ser un pixel completamente rojo.
Cuntos valores hay en una imagen? El clculo est dado por la siguiente frmula:
Altura * anchura * canales

Visin por Computador.
La Visin por Computador (Computer Vision) es la construccin de descripciones
explcitas y significativas de objetos fsicos desde una imagen.

La Visin por Computador es un campo de estudio diverso y relativamente nuevo.
Anteriormente era difcil procesar incluso datos de imgenes moderadamente grandes. No
fue sino hasta finales de 1970 que surgi un estudio ms enfocado del campo. [3]

No existe una formulacin estndar de cmo los problemas de visin por computador
deberan resolverse. En su lugar, existen varios mtodos para resolver varias tareas bien
definidas de visin por computador.
Los principales problemas a los que se enfrenta la visin por computador son:



9

Reconocimiento.
El mayor problema de la visin por computador es determinar si una imagen contiene
uno o varios objetos determinados: cuntos rboles hay, cuntas casas hay, qu
colores, etc. Este tipo de tarea es fcil de lograr para el ojo humano, pero no para una
computadora.

Anlisis de movimiento.
Otro problema de la visin por computador es identificar objetos que estn en
movimiento, pues muchas veces, debido a su velocidad de movimiento, pueden
interpretarse como ruido.

OpenCV.
La Visin por Computador gana campo rpidamente, en parte como resultado de cmaras
ms baratas y capaces, en parte por poder de procesamiento asequible, y en parte
porque los algoritmos de visin estn empezando a madurar y se desarrollan libreras, las
cuales facilitan la labor del programador a la hora reconocer objetos; dentro de stas se
encuentra OpenCV.

OpenCV (Open Source Computer Vision Library) es una librera de cdigo abierto escrita
en C y C++ y es capaz de correr bajo Linux, Windows y Mac OSX. Fue desarrollada por
Intel y ahora es mantenida por Willow Garage. Se enfoca principalmente en
procesamiento de imgenes en tiempo real.
Una de las metas de OpenCV, es proveer una infraestructura de visin por computador
fcil de usar, que ayude a las personas a construir aplicaciones de visin por computador
sofisticadas de manera rpida. La librera contiene ms de 500 funciones que abarcan
muchas reas en visin, incluyendo imgenes mdicas, seguridad, calibracin de
cmaras y robtica. [3]

Operaciones sobre una imagen digital con OpenCV.

Recorrido de una imagen.
Para recorrer una imagen en OpenCV se va de izquierda a derecha, y de arriba a
abajo; los canales estn ordenados en BGR (Blue, Green, Red (Azul, Verde, Rojo)).
Como se dijo anteriormente, una imagen digital es una matriz bidimensional, la cual se
recorre mediante ciclos anidados en un algoritmo, los cuales empezaran desde la
posicin cero (0). Por lo tanto y a manera de ejemplo, si se quiere acceder al valor rojo
del pixel nmero 40 de la fila 24 tendramos que acceder al dato: ( anchuraFila * 23 ) +
( numeroCanales * 39 ) + 2. [4][5]

Segmentacin de imgenes.
En la visin por computador, Segmentacin es el proceso de particionar una imagen

10

digital en mltiples segmentos. Su objetivo es simplificar y/o cambiar la representacin
de una imagen en algo que sea ms significativo y fcil de analizar. Dicho de manera
ms precisa, la segmentacin es el proceso de asignar una etiqueta a cada pixel de
una imagen, as cada pixel con una misma etiqueta comparten ciertas caractersticas
visuales, tales como lneas, curvas, colores, entre otras. [6]

Un ejemplo sencillo de segmentacin en OpenCV, es determinar qu pixeles de una
imagen dada tienen un mismo color.
Primero se debe recorrer la imagen y buscar en todos los pxeles de la imagen,
calculando si son o no del color deseado. Cmo saber si por ejemplo es rojo? En
primer lugar se debe saber qu datos caractersticos tiene dicho color. En este caso es
sencillo, su dato ms caracterstico ser que el canal con mayor valor ser el del rojo.
Tambin hay que tener en cuenta que los valores de los otros canales no sean muy
altos, por lo menos no lo suficiente como para acercarse al valor del canal del rojo, ya
que estos valores podran corresponder a colores como el morado o el naranja.

Segmentacin por umbral (Thresholding).
La segmentacin por umbral es una tcnica de segmentacin de imgenes, en la que
se elige un valor de umbral y se recorre cada uno de los pixeles de una imagen.
Aquellos pixeles cuyo valor sea mayor o igual al umbral elegido, sern denominados
pixeles de primer plano, mientras que aquellos con un valor por debajo del umbral,
se denominarn pixeles de segundo plano; a este tipo de segmentacin se le
denomina umbral por encima. Existen tambin umbral por debajo, el cual es el
opuesto al de umbral por encima; umbral por dentro y umbral por fuera.
La tcnica de umbral por dentro, consiste en elegir un umbral menor y uno mayor;
aquellos pixeles que se encuentren dentro de este rango, sern los pixeles de primer
plano, mientras que los que estn por fuera, sern los de segundo plano; la tcnica de
umbral por fuera, es la opuesta a la de umbral por dentro. [3][6]

Siguiendo el ejemplo de deteccin de pixeles de color rojo en OpenCV, se empleara
la tcnica de umbral por encima, con un valor de 80 para el canal rojo, as como
tambin un umbral por debajo con un valor de [Valor Canal Rojo ] / 2 para los canales
verde y azul.

Ruido.
El ruido, en una imagen, es una variacin aleatoria de informacin de brillo o color.
Puede ser producido por los circuitos de un scanner o una cmara digital.
El ruido de una imagen, tambin puede darse al aplicar una tcnica de umbral, en la
que pixeles con demasiado brillo, son el resultado de una segmentacin de umbral por
encima, y pixeles demasiado oscuros, son el resultado de una segmentacin de
umbral por debajo.


11

Suavizamiento (Smoothing).
Suavizar un conjunto de datos (pixeles), es la reduccin de la cantidad de variaciones
de intensidad entre pixeles vecinos, eliminando el ruido de la imagen.
El procedimiento consiste en encontrar los valores mximo y mnimo de intensidad
para cada uno de los pixeles que se encuentran alrededor de un pixel a analizar (pixel
central). Si la intensidad del pixel central est dentro del rango de sus vecinos, no se
realiza cambio alguno. Si la intensidad del pixel central es mayor que el valor mximo,
el pixel central toma el valor del mximo. Si la intensidad del pixel central es menor
que el valor mnimo, dicho valor es asignado al pixel central. [7]

En OpenCV, el suavizamiento de una imagen, se hace de manera sencilla mediante la
funcin cvSmooth().

Deteccin de bordes.
La deteccin de bordes consiste en identificar los puntos de una imagen digital, en la
cual su brillo tenga discontinuidades. Esto se hace mediante el clculo de la primera y
segunda derivada (Figura 1).
El resultado de aplicar la deteccin de bordes a una imagen, puede reducir
significativamente la cantidad de datos a ser procesados y as dejar por fuera
informacin que puede ser catalogada como menos relevante y preservar las
propiedades estructurales importantes de la imagen.


Figura 1. Deteccin de discontinuidades en
una imagen mediante la primera y segunda
derivada.



12

Detector de bordes de Canny.
El detector de bordes de Canny, es un algoritmo utilizado para detectar un amplio
rango de bordes en las imgenes. Se le llama as debido a su autor, John F. Canny.
El algoritmo consiste en armar pixeles candidatos a contornos; esto se logra mediante
dos umbrales, uno alto y uno bajo. Si un pixel tiene un gradiente mayor al umbral
umbral alto, entonces es considerado como un pixel de borde; si es menor al umbral
bajo, entonces se rechaza. Si el gradiente est dentro de los dos umbrales, slo se
acepta si el pixel est conectado a un pixel que est por encima del umbral alto. [3]

En OpenCV, se puede lograr la deteccin de bordes con el algoritmo de Canny
mediante la funcin cvCanny().

Transformadas de Hough.
Transformada de lneas.
Realiza un seguimiento de la interseccin entre curvas de cada punto de una
imagen. Si el nmero de intersecciones est por encima de un umbral dado,
entonces es declarado como una lnea de parmetros del punto de
interseccin.

Transformada de crculos.
Esta transformada, funciona de manera anloga a la transformada de lneas, con
algunas diferencias:
En la transformada de lneas, una lnea se defina por dos parmetros: En
la transformada de crculos, se necesitan tres parmetros para definir un crculo:
, donde
, definen la posicin central, y r es el radio. [8][9]

En OpenCV, la aplicacin de la transformada de crculos de Hough, se logra
mediante la funcin HoughCircles().


13


6. DISEO METODOLGICO.

A. Fase 1: Instalacin y manejo de la librera bajo Windows.
Descarga de herramientas de compilacin y posterior compilacin de las
fuentes.
Manipulacin de la librera a travs de ejemplos prcticos y sencillos para el
reconocimiento de objetos sencillos dada una imagen.

B. Fase 2: Reconocimiento de figuras geomtricas con OpenCV a travs de la
webcam.
Instalacin y reconocimiento de la webcam con la librera.
Reconocimiento de figuras geomtricas en tiempo real con la webcam,
comparando con una serie de caractersticas de figuras geomtricas simples.





14


7. METODOLOGA DESARROLLO DE SOFTWARE

Para el desarrollo del proyecto, se utiliz una definicin de fases metodolgicas con
actividades asociadas a cada uno de los objetivos especficos.

8. ESQUEMA TEMTICO.

8.1. INSTALACIN Y MANEJO DE OPENCV BAJO WINDOWS.

A continuacin, se listan los pasos bsicos para la descarga e instalacin de OpenCV
bajo Windows. Para instrucciones ms detalladas, dirigirse al Anexo 1: Instalacin e
integracin de OpenCV con Eclipse Indigo en Windows.
1) Se descarga OpenCV de la pgina oficial y se instala:
Ingresar a la pgina http://opencvlibrary.sourceforge.net/ y dar clic en Download Open
Computer Vision Library files.

2) Se descarga e instala MinGW:
MinGW, provee los compiladores de C y C++ que se utilizarn a la hora de ejecutar el
proyecto en Eclipse.
Ingresar a la pgina del proyecto en SourceForge:
http://sourceforge.net/projects/mingw/files/
Se da clic en Installer --> mingw-get-inst --> mingw-get-inst-20110802 -->
mingw-get-inst-20110802.exe.

Nota: Hay una nueva versin disponible, pero se recomienda bajar la utilizada en
estos pasos para no entrar en conflictos con posibles cambios de la nueva versin.

3) Se aaden a PATH, la carpeta de binarios de MinGW y las carpetas de OpenCV
necesarias para la utilizacin de los DLLs por parte de MinGW:
Se da clic derecho en "Mi PC" --> "Propiedades". Una vez all, se da clic en la pestaa
"Opciones avanzadas", botn "Variables de entorno". El sistema muestra la lista de
variables de entorno; se selecciona la variable "Path" y se da clic en el botn
"Modificar". La variable recibe varias rutas, cada ruta separada por un punto y coma
(;).

4) Se descarga e instala Eclipse Indigo:
Se ingresa a la pgina http://www.eclipse.org/downloads/

15

Se selecciona "Eclipse IDE for C/C++ Developers (includes Incubating
components)" para Windows de 32 Bits (en nuestro caso), el cual es el que cuenta
con todo el entorno desarrollo de programas para C++.

5) Se crea un nuevo proyecto HelloWorld de C++ con Eclipse y MinGW.

6) Se le agregan las siguientes libreras a Eclipse:
opencv_calib3d230
opencv_contrib230
opencv_core230
opencv_features2d230
opencv_flann230
opencv_gpu230
opencv_highgui230
opencv_imgproc230
opencv_legacy230
opencv_ml230
opencv_objdetect230
opencv_video230

Reconocimiento bsico de objetos por segmentacin.
En el siguiente caso, se hace aplicacin de la tcnica de segmentacin para ubicar
aquellos objetos dentro de una imagen que sean de color rojo:
Se recorre la imagen de izquierda a derecha y de arriba hacia abajo, validando cada uno
de los pixeles contra un umbral definido, en este caso 150; se eligi dicho valor pues
generalmente se trabaja con cmaras digitales de muy alta resolucin y con espacios
demasiado iluminados.
Tambin se necesita que los valores de los canales verde y azul del pixel sean
considerablemente inferiores al valor del canal rojo, en este caso, por debajo de la mitad.
Por lo tanto, la validacin quedara estructurada de la siguiente manera:
Si [Valor del canal rojo] > 150, y [Valor de los canal verde] < [Valor del canal rojo] / 2, y
[Valor canal azul] < [Valor del canal rojo] / 2, entonces, es un pixel rojo.

La aplicacin de dicho algoritmo se aprecia en la Figura 2.


16


Figura 2. Aplicacin de algoritmo de
segmentacin en OpenCV para la deteccin
de objetos rojos.
Comparacin de la imagen original
(izquierda) contra la imagen modificada
(derecha) con la deteccin de pixeles rojos.

8.2. RECONOCIMIENTO DE FIGURAS GEOMTRICAS SIMPLES A TRAVS DE
UNA WEBCAM.

Segmentacin por umbral para el reconocimiento de objetos rojos.
Dado que una iluminacin adecuada es esencial para la captura ptima de pixeles rojos,
algunos de stos no fueron detectados debido a sombras muy oscuras para el umbral
definido.


Figura 3. Aplicacin de algoritmo de
segmentacin para la deteccin de objetos
rojos en tiempo real a travs de una cmara
Web.


Deteccin de crculos.
Para la deteccin de crculos, el proceso es el siguiente:
1) Se copia la imagen original y se convierte a escala de grises.
2) Una vez convertida a escala de grises, se detectan los contornos mediante el
detector de bordes de Canny.

17

3) Se le aplica la transformada de crculos de Hough a la imagen con los contornos.
4) Se pintan los crculos detectados y se presentan en la imagen original,
modificando los pixeles correspondientes.

En la Figura 4, se muestra la aplicacin de los pasos anteriormente mencionados.


Figura 4. Transformacin de imagen original
(izquierda superior) a escala de grises
(derecha superior), detectando sus bordes
mediante el algoritmo de Canny (izquierda
inferior) y su posterior aplicacin de la
transformada de Hough, presentando la
deteccin de crculos sobre la imagen
original (derecha inferior).

Deteccin de crculos rojos.
Para combinar el algoritmo de deteccin de objetos de colores rojos y la deteccin de
crculos, slo se hace un paso de ms: En vez de aplicar la escala de grises a la imagen
original, primero se hace la segmentacin por umbral para el color rojo, los dems pasos
son los mismos.

En la Figura 5, se muestra la aplicacin de dicho proceso.


18


Figura 5. Deteccin de colores rojos en la
imagen original y transformacin a escala de
grises (derecha superior) aplicando los
algoritmos de deteccin de bordes de Canny
(izquierda inferior) y deteccin de crculos
mediante la transformada de Hough
(derecha inferior).

Deteccin de cuadrilteros y tringulos.
En ambos casos, se utiliza la funcin cvApproxPoly(), para la aproximacin poligonal de
los bordes. Si el resultado arrojado es igual a cuatro, entonces es un cuadriltero; si es
igual a tres, entonces es un tringulo.
Los pasos, son los siguientes:
1) Se copia la imagen original y se convierte a escala de grises.
2) Una vez convertida en escala de grises, se aplica la deteccin de bordes de
Canny.
3) Se le aplica la funcin cvApproxPoly() a la imagen de contornos.
4) Si el resultado es igual a tres, es un tringulo; si es igual a cuatro, es un
cuadriltero.

En la Figura 6 y Figura 7, se muestra la deteccin de cuadrilteros y tringulos en objetos
reales a travs de la Webcam, sin la presentacin de sus copias en grises y deteccin de
bordes.


19


Figura 6. Deteccin de cuadriltero en una
memoria USB mediante la funcin de
aproximacin de polgonos.


Figura 7. Deteccin de tringulo en un
control de consola de videojuegos mediante
la funcin de aproximacin de polgonos.













20



9. CONCLUSIONES.

OpenCV es una herramienta poderosa y sencilla, la cual permite crear
aplicaciones complejas de forma rpida gracias a su gran nmero de funciones
predefinidas.

Gracias a libreras libres y potentes como OpenCV, no es necesario adquirir
equipos muy costosos para trabajar con procesamiento digital de imgenes y
reconocimiento de objetos en tiempo real.

Para la deteccin ptima de figuras geomtricas sencillas como tringulos y
crculos, de determinado color, son necesarias varias condiciones especiales a la
hora de hacer dicho proceso, como una buena iluminacin, un buen ngulo de los
objetos respecto al computador, y objetos con colores que se diferencien de
manera significativa frente a otros.














21

10. TRABAJO FUTURO.

Deteccin de cuadrilteros ms especficos como un cuadro o un rectngulo, as
como la deteccin de tringulos rectngulos, equilteros y dems.

Deteccin de formas complejas a travs de objetos del mundo real, extrayendo la
informacin de las posibles figuras geomtricas que lo pueden conformar.

Construccin de un sitio Web que pueda ejecutar remotamente desde cualquier
lugar el reconocedor de figuras geomtricas.

Construccin de un Objeto de Aprendizaje, con un entorno grfico llamativo que
permita al usuario decidir el tipo de figura que se quiere reconocer.








22


11. REFERENCIAS BIBLIOGRFICAS.

[1] Centro Virtual de Noticias de la Educacin. Colombia en PISA 2009 - Mensaje de
urgencia a la calidad de la educacin.
http://www.mineducacion.gov.co/cvn/1665/w3-article-257876.html

[2] ICFES SABER 5 y 9 2009. RESULTADOS NACIONALES.
http://www.icfes.gov.co/saber59/images/pdf/Informe%20nacional%20SABER%205%20y%
209%202009.pdf

[3] Learning OpenCV. Gary Bradski and Adrian Kaehler. OReilly (2008). Pgs. 1, 125,
151-152.

[4] OpenCV Examples Part 1. Access Image Data. (Nov. 4, 2008)
http://nashruddin.com/opencv-examples-for-operation-on-images.html/6/

[5] Reconocimiento bsico de objetos con OpenCV. ElectricBricks (May. 7, 2010).
http://blog.electricbricks.com/es/2010/05/reconocimiento-objetos-opencv/

[6] Computer Vision. Linda Shapiro and George Stockman. Prentice-Hall (2000). Pgs. 97,
305.

[7] Sistema de pre-procesamiento de imgenes electrocardiogrficas en telemedicina.
Melva Ramos Rivas. Universidad de las Amricas Puebla (2003). Captulo 3.
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/ramos_r_m/

[8] OpenCV v2.4.1 documentation (Official).
http://docs.opencv.org/2.4.1/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

[9] Lecture 10: Hough Circle Transform. Harvey Rhody. Rochester Institute of Technology
(Oct. 11, 2005).

23

12. ANEXOS.


I. ANEXO 1: INSTALACIN E INTEGRACIN DE OPENCV CON ECLIPSE
INDIGO EN WINDOWS.
Referirse al archivo Instalar_OpenCV.pdf, ubicado en la carpeta Anexos.

II. ANEXO 2: ALGORITMO DE SEGMENTACIN PARA LA DETECCIN DE
COLORES ROJ OS EN UNA IMAGEN.
Para una mejor apreciacin de la imagen, referirse a la ruta
Anexos/Algoritmos/Colores.


24





25

III. ANEXO 3: ALGORITMO PARA LA DETECCIN DE CRCULOS, TRINGULOS
Y CUADRILTEROS A TRAVS DE UNA WEBCAM.
Para una mejor apreciacin de la imagen, referirse a la ruta
Anexos/Algoritmos/Deteccion_Figuras.


26


27

Вам также может понравиться