Está en la página 1de 11

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS FSICAS Y


MATEMTICA
INGENIERA EN COMPUTACIN GRFICA
VISIN COMPUTACIONAL

Tema: Proyecto primer hemisemestre


Deteccin de Bordes (Crculos)
Transformada de Hough

Adrian Lara
30-11-2015

Contenido
Introduccin.................................................................................................................................. 3
Objetivos ....................................................................................................................................... 3
Objetivo General ...................................................................................................................... 3
Objetivos Especficos ................................................................................................................ 3
Alcance .......................................................................................................................................... 4
Justificacin .................................................................................................................................. 4
Marco Terico ............................................................................................................................... 4
Transformada de Hough ............................................................................................................... 5
Desarrollo ...................................................................................................................................... 6
Resultados ................................................................................................................................. 7
Captura de imgenes con Cmara Web ................................................................................. 10
Conclusiones ............................................................................................................................... 11
Recomendaciones ....................................................................................................................... 11
Bibliografa .................................................................................................................................. 11

Introduccin
Dentro del campo de los videojuegos muchas aplicaciones han potencializado la
experiencia de los juego en primera persona y en tiempo real, para esto se han servido
de herramientas de la visin computacional que ha permitido que este campo avance a
pasos agigantados, el desenlace de este presente trabajo no va tan lejos sin embargo nos dar
la pauta para entender cmo manejar la captura de contornos como son las figuras geomtricas
y tal vez entender cmo sera la captura para la animacin de un juego en primera persona.

El presente trabajo tiene como finalidad desarrollar un programa en el mbito de la


visin computacional capaz de detectar figuras geomtricas de una imagen dada por el
usuario. La deteccin de bordes es una de las tantas aplicaciones que existe dentro de
esta asignatura la cual servir para identificar las figuras antes mencionadas haciendo
uso del entorno de desarrollo Spyder con el lenguaje de programacin Python.

Objetivos

Objetivo General
-

Generar un algoritmo que permita detectar los bordes de alguna imagen


ingresada por el usuario.

Objetivos Especficos
-

Aplicar la deteccin de bordes para detectar figuras geomtricas como un crculo


o un cuadrado.

Utilizar los diferentes filtros de pre procesamiento para obtener un resultado


ptimo.

Alcance
El programa ser capaz mediante una imagen obtener y dibujar un crculo si la imagen
es de ese.

Justificacin
La utilidad de este programa es para entender las mejoras que se han venido dando
dentro del campo de la visin computacional en algunos entornos, como los
videojuegos, deteccin de personas, clasificacin de mapas, etc. Adems para usar esta
aplicacin en temas apegados a los juegos en primera persona y tal vez en tiempo real.

Marco Terico
OPEN CV cuenta con muchas funciones predefinidas para el procesamiento de imgenes
y una de ellas es la deteccin de crculos con la transformada de Hough.
Del mismo modo como detectamos las lneas en una imagen opencv cuenta con
funciones para detectar los crculos HoughCircles, en este caso la funcin nos devolver
el punto central del circulo (x,y) y el radio del mismo r. Con el siguiente cdigo lo que
hacemos es convertir la imagen a escala de grises y luego aplicar GaussianBlur para
reducir la deteccin de crculos no existentes.
cvtColor (img, gray, CV_BGR2GRAY);
GaussianBlur (gray, gray, Size (9, 9), 2, 2);
Aplicamos el mtodo Houg Circle Transform con los siguiente parmetros, donde el
primero es la imagen a analizar y el segundo es donde se almacenaran los datos de los
crculos encontrados, gary.rows / 2 indica la distancia mnima entre los centros.
La deteccin de crculos en imgenes digitales ha recibido una atencin considerable en
los ltimos aos en el rea de visin por computadora. Por otra parte los Autmatas de
Aprendizaje (LA por su nombre en ingls Learning Automata) son un mtodo
heurstico que puede ser utilizado para encontrar la solucin a complejos problemas de
optimizacin. LA es una tcnica para la adaptacin de parmetros en optimizacin,
4

donde la bsqueda se lleva a cabo en el espacio probabilstico en lugar del espacio de


parmetros como sucede en otros algoritmos de optimizacin tradicionales. En este
trabajo, se presenta un detector de crculos basado en LA en el cual el proceso de
deteccin es abordado de manera similar a un proceso de optimizacin. El algoritmo
utiliza la combinacin de tres puntos que forman parte de un borde como los
parmetros de crculos candidatos (x, y, r), mientras que una funcin objetivo determina
si estos crculos candidatos se encuentran en realidad presentes en la imagen. De esta
manera el esquema de parmetros reduce el espacio de bsqueda evitando probar con
crculos que resultan poco probables o imposibles. El algoritmo resultante permite
detectar crculos a alta velocidad con precisin a nivel sub-pixel, incluso en condiciones
complicadas.
Transformada de Hough
Esta es una tcnica que permite descubrir formas en una imagen. Se basa en transformar
puntos de la imagen en un espacio de parmetros. La idea es encontrar curvas
parametrizables como rectas, crculos y polinomiales. En teora se pueden encontrar
formas ms complejas pero el costo computacional crece rpidamente. Generalmente
se realiza deteccin de bordes a la imagen, y luego se aplica la transformada a esta. De
esta forma son menos los puntos que hay que recorrer y por lo tanto ms rpido es el
algoritmo. El ms usado para realizar la deteccin de bordes es el Filtro de Canny.

Desarrollo

Resultados

Captura de imgenes con Cmara Web

10

Conclusiones
-

La deteccin de crculos ayudados por la transformada de Hough es eficiente si se


determina bien los valores de los radios a capturar

La deteccin por cmara web en el IDE Python Shell no se logr con eficiencia debido a
las incompatibilidades de las versiones de Open CV

Recomendaciones
-

Es importante realizar un correcto pre procesamiento y filtrado para un correcto


funcionamiento de la transformada de hough

Se debe revisar con mucho cuidado las funciones que cada versin de OPENCV ofrece.

Bibliografa
-

http://answers.opencv.org/question/34273/python-and-videocapture-from-webcam/

http://iaci.unq.edu.ar/materias/vision/archivos/apuntes/Transformada%20de%20Hou
gh.pdf

11

También podría gustarte