Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Luis Enrique Coronado Ziga
Universidad Autnoma de San Luis Potos
Facultad de Ingeniera
Ingeniera en Mecatrnica
2013
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Tabla de contenido
1
Introduccin
Estructuras principales
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin
OpenCV es una biblioteca libre y multiplataforma de procesamiento
de imagen originalmente creada por Intel.
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Estructuras principales
CvPoint
Coordenadas de un pixel en una imagen.
int x
int y
Coordenada en x
Coordenada en y
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
CvPoint2D32f
Coordenadas 2D otantes
oat x
oat y
Coordenada en x
Coordenada en y
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
CvPoint3D32f
Coordenadas 3D otantes
oat x
oat y
oat z
Coordenada en x
Coordenada en y
Coordenada en z
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
CvSize
Tamao de una regin rectangular o imagen en pixeles
int width
int height
Anchura
Altura
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
CvRect
Rectngulo en la imagen, con el origen en el pxel superior
izquierdo.
int
int
int
int
x
y;
width
height
Coordenada en x
Coordenada en y
Ancho del rectngulo
Alto del rectngulo
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
CvScalar
Valores de un pixel. Puede contener de 1 a 4 valores (segn el
nmero de canales).
double val[4];
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
IplImage
Estructura principal de OpenCV para representar imgenes
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Ejemplo:
// O b t e n e r l o s d a t o s de l a imagen
u n s i g n e d c h a r m a t r i z = ( u n s i g n e d c h a r ) img>imageData ;
// R e c o r r e r t o d a l a imagen y o b t e n e r e l v a l o r de l o s
p i x e l e s por canal .
f o r ( i n t i = 0 ; i <a l t o ; i ++) {
f o r ( i n t j =0; j <ancho ; j ++) {
A z u l = m a t r i z [ i p a s o+j c a n a l e s + 0 ] ;
Verde = m a t r i z [ i p a s o+j c a n a l e s + 1 ] ;
Rojo = m a t r i z [ i p a s o+j c a n a l e s + 2 ] ;
}
}
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Ruta de la imagen
Si es igual 0 la imagen tendr un canal,
si es mayor a 0 ser RGB
Ejemplo:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvSaveImage
Accin:Guardar una imagen en disco.
Valor de retorno: int
Parmetros:
IplImage *image
Ejemplo:
cvSaveImage("resultado.jpg", img);
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvWaitKey
Accin:Esperar la pulsacin de una tecla.
Valor de retorno: int (cdigo ASCII de la tecla)
Parmetros:
int delay
Ejemplo:
char c = cvWaitKey(1000);
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvNamedWindow
Accin:Crear una ventana.
Valor de retorno: int
Parmetros:
Ejemplo:
cvNamedWindow("Ventana", 0 );
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvShowImage
Accin: Salida de imgenes en pantalla.
Valor de retorno: int
Parmetros:
Nombre de la ventana
Imagen a ser mostrada
Ejemplo:
cvShowImage("Ventana", img);
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvDestroyWindows
Accin:Destruir una ventana.
Valor de retorno: int
Parmetros:
Ejemplo:
cvDestroyWindows("Ventana");
cvDestroyAllWindows() //Destruye todas las ventanas
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
cvReleaseImage
Accin:Liberar memoria de una imagen.
Valor de retorno: int
Parmetros:
IplImage ** image
Ejemplo:
cvReleaseImage(&img)
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Ejercicios:
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Introduccin a OpenCV
Introduccin
Estructuras principales
Crear una nueva imagen
Funciones de Entrada/Salida de imgenes
Liberar memoria de imgenes y ventanas
Captura de video con Opencv
Ejercicios:
Introduccin a OpenCV