Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMÁGENES
EXPERIENCIA N°6
I .- OBJETIVOS:
• Integrar las librerías openCv dentro del entorno de programación C++.
• Iniciar en la utilización de openCv.
III.- PROCEDIMIENTO
1.- Introducción
OpenCV (Open Source Computer Vision Library) es una librería de funciones en C y
C++ que contiene un conjunto de utilidades de procesamiento de imágenes, visión
artificial, captura de vídeo y visualización de imágenes. Es de código abierto, gratuita,
multiplataforma (disponible para entornos MS Windows, Mac OS y Linux), de fácil uso y
en continuo desarrollo. Páginas web de OpenCV:
http://opencv.willowgarage.com/wiki (Documentación en wiki)
http://sourceforge.net/projects/opencvlibrary (Descargar librería)
http://groups.yahoo.com/group/OpenCV (Foro de discusión)
1
Autor: Lizardo Pari P.
ESCUELA PROFESIONAL DE INGENIERÍA
ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMÁGENES
EXPERIENCIA N°6
2
Autor: Lizardo Pari P.
ESCUELA PROFESIONAL DE INGENIERÍA
ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMÁGENES
EXPERIENCIA N°6
3
Autor: Lizardo Pari P.
ESCUELA PROFESIONAL DE INGENIERÍA
ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMÁGENES
EXPERIENCIA N°6
4.2.- Una vez creada una ventana, se muestran las imágenes en ella con:
void cvShowImage(char *nombreVentana, IplImage *img)
4.6.-En el caso de los archivos JPG, se puede indicar la calidad de compresión JPG
llamando a la función cvSaveImage con un tercer parámetro adicional.
IplImage *img= cvLoadImage("imagen.bmp");
int param[2]= {CV_IMWRITE_JPEG_QUALITY, 2};
cvSaveImage("imagen.jpg", img, param);
cvReleaseImage(&img);
4
Autor: Lizardo Pari P.
ESCUELA PROFESIONAL DE INGENIERÍA
ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO
DIGITAL DE IMÁGENES
EXPERIENCIA N°6
Ejemplo:
cvNamedWindow("Imagen", 0);
IplImage *img= cvCreateImage(cvSize(640,480), IPL_DEPTH_8U, 3);
cvShowImage("Imagen", img);
int tecla= 0, x= 320, y=240;
while (tecla!=27) {
tecla= cvWaitKey(1);
switch (tolower(tecla)) {
case 'q': x-=4; break;
case 'w': x+=4; break;
case 'p': y-=4; break;
case 'l': y+=4; break;
}
cvSmooth(img, img, CV_GAUSSIAN);
cvSubS(img, cvScalarAll(1), img);
cvCircle(img, cvPoint(x,y),20,CV_RGB(255,255,255),-1);
cvShowImage("Imagen", img);
}
cvReleaseImage(&img);
cvDestroyWindow("Imagen");
IV. INFORME.
Además de los resultados, se deberán adjuntar las conclusiones que se deriven de la
ejecución de la presente práctica.
5
Autor: Lizardo Pari P.