You are on page 1of 9

Introducción a OpenCV

Objetivo.
El alumno aprenderá a abrir y manipular imágenes usando la biblioteca OpenCV de Intel, así como hacer
funciones personalizadas que permitan manipular las estructuras de datos de OpenCV.

Introducción


OpenCV (Open source Computer Vision library) es una librería abierta desarrollado por Intel. Esta
librería proporciona un alto nivel funciones para el procesado de imágenes. Estas librerías permiten a los
programadores crear aplicaciones poderosas en el dominio de la visión digital. OpenCV ofrece muchos tipos
de datos de alto-nivel como juegos, árboles, gráficos, matrices, etc. OpenCV es opensource para poder
funcionar en muchas plataformas.

OpenCV implementa una gran variedad de herramientas para la interpretación de la imagen. Es
compatible con Intel Image Processing Library (IPL) que implementa algunas operaciones en imágenes
digitales. OpenCV es una librería que implementa algoritmos para las técnicas de la calibración (Calibración
de la Cámara), detección de rasgos, para rastrear (Flujo Óptico), análisis de la forma (Geometría, Contorno
que Procesa), análisis del movimiento (Plantillas del Movimiento, Estimadores), reconstrucción
3D(Transformación de vistas), segmentación de objetos y reconocimiento (Histograma, etc.).

El rasgo esencial de la librería junto con funcionalidad y la calidad es su desempeño. Los algoritmos
están basados en estructuras de datos muy flexibles, acoplados con estructuras IPL; más de la mitad de las
funciones ha sido optimizada aprovechándose de la Arquitectura de Intel.

OpenCV usa la estructura Iplimage para crear y manejar imágenes. Esta estructura tiene gran
cantidad de campos, algunos de ellos son más importantes que otros. Por ejemplo el width es la anchura del
Iplimage, height es la altura, depth es la profundidad en bits y nChannels el número de canales (uno por cada
nivel de gris de las imágenes y tres para las imágenes a color).

OpenCV viene con una interface gráfica llamada highGUI. Esta interfaz gráfica es muy importante porque se
necesita bajo OpenCV para visualizar imágenes.








Práctica 1 Página 2

1. Utilizando las funciones de OpenCV:

1.1. Cargar una imagen a partir de un archivo en disco.



1.2. Al hacer clic sobre la imagen debe decirnos los valores de las componentes RGB del pixel.



1.3. Crear una copia de una imagen.






Práctica 1 Página 3

1.4. Separar los canales de color de una imagen.







Práctica 1 Página 4


1.5. Definir la región de interés de una imagen y copiarla a una imagen más pequeña, dibujar un rectángulo en
la imagen original que indique la porción copiada.





1.6. Aplicar operaciones lógicas usando dos imágenes diferentes del mismo tamaño (And, Or, Not, Xor).

Imágenes Originales:


Práctica 1 Página 5


Operación AND: Operación OR:



Operación XOR: Operación NOT:


Práctica 1 Página 6


1.7. Convertir la imagen a escala de grises, HSI y RGB. Mostrar cada canal por separado de la imagen HSI.
Colocar el color cada canal generado en la imagen RGB.




Práctica 1 Página 7


Otro ejemplo



Práctica 1 Página 8


2. Programando a mano:
2.1 Escribir una función que genere una imagen en espacio de color RGB normalizado a partir de una imagen
de OpenCV.

Para normalizar RGB se necesita Rn = 255*r/(r+g+b) Gn = 255*g/(r+g+b) Bn = 255*b/(r+g+b)









Práctica 1 Página 9



Conclusiones

Esta práctica nos permite introducirnos en algunas funciones básicas de OpenCV como son,
cargar una imagen y observar sus respectivos canales de color. Trabajamos con algunas cuestiones
que se refieren al manejo del mouse, definir regiones de interés y dibujar una figura geométrica
básica como lo es un rectángulo.

Se cumplió con el objetivo de familiarizarnos con el uso de esta librería abierta, así como el
manejo de las estructuras básicas de los datos que ella maneja. Es importante familiarizarse con
esta librería y sus funciones, debido a que son la base de proyectos de mayor complejidad.