Upload
yeimi-lorena-velasquez-sosa
View
227
Download
0
Embed Size (px)
Citation preview
7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
1/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
Ejemplos Bsicos con OpenCv
Turkos Jue, 07/29/2010 - 18:02
Hace tiempo quera hacer un post con ejemplos bsicos con OpenCv, para que el principiante que recin toma contacto
con esta librera pueda tener un trampoln que le permita realizar las primeras practicas en el mundo del procesamiento
de imgenes
Me llegan E-mails a mi correo diciendo, Ernesto, tengo muchas ganas de comenzar con OpenCv, ya que es una herramienta
potente y el Procesamiento Digital de Imgenes es un campo prometedor y con mucho futuro, pero no se por dondeempezar.
Yo les respondo enviando algunos ejemplos, a lo cual me responden, Ernesto vos haces estos programas porque sabes
mucho de esta libreara. Entonces yo nuevamente les respondo!!!!! ya voy a hacer un post con ejemplos fciles y no me
llamo Ernesto!!!!! dejen de llamarme Ernesto!!! porque me dicen Ernesto????!!!!
Ejemplo 1:
Abrir una foto con la libre ra Ope nCv:
#include < opencv/highgui.h >
int main( int argc, char** argv )
{
IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED ) //Cargamos la imagen que le pasamos
//al programa como argumento
//CV_LOAD_IMAGE_UNCHANGED nos
//permite cargar la imagen tal cual es
cvNamedWindow( "Ejemplo1", CV_WINDOW_AUTOSIZE ) //creamos una ventana con el nombre Ejemplo 1
//El parametro CV_WINDOW_AUTOSIZE nos permite que tenga
//el tamao de la imagen automaticamente
cvShowImage("Ejemplo1", img )
//mostramos la imagen en la ventana
//anteriormente creada
cvWaitKey(0)
//se queda esperando a que se presione
//una tecla
cvReleaseImage( &img )
//se libera el recurso de memoria donde est la imagen
http://picasaweb.google.com/lh/photo/kiPHyS-_Z1qRFyR45ZO2ClpNtULY5a-KkHuPCd6ht1c?feat=embedwebsitehttp://picasaweb.google.com/lh/photo/kiPHyS-_Z1qRFyR45ZO2ClpNtULY5a-KkHuPCd6ht1c?feat=embedwebsitehttp://picasaweb.google.com/lh/photo/kiPHyS-_Z1qRFyR45ZO2ClpNtULY5a-KkHuPCd6ht1c?feat=embedwebsite7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
2/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
cvDestroyWindow("Ejemplo1" )
//destruimos la ventana
}
Ejemplo 2:
Dibujar un rectngulo en una imagen:
#include < opencv/highgui.h >
int main( int argc, char** argv )
{
CvPoint pt1, pt2
//Tipo de datos que guardan puntos IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED )
//Cargamos la imagen que le pasamos
//al programa por argumento
//CV_LOAD_IMAGE_UNCHANGED nos permite
//cargar la imagen tal cual es
cvNamedWindow( "Ejemplo2", CV_WINDOW_AUTOSIZE ) //creamos una ventana con el nombre Ejemplo 1
//El parametro CV_WINDOW_AUTOSIZE nos permite que tenga
//el tamao de la imagen
http://picasaweb.google.com/lh/photo/kiPHyS-_Z1qRFyR45ZO2ClpNtULY5a-KkHuPCd6ht1c?feat=embedwebsite7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
3/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
pt1.x = 100 //coordenada x
pt1.y = 10 //coordenada y
pt2.x = 220
pt2.y = 150
cvRectangle( img, pt1 , pt2 , CV_RGB(0,0,255), 3, 8, 0 ) //Dibujamos el rectangulo
cvShowImage("Ejemplo2", img )
//mostramos la imagen en la ventana
//anteriormente creada
cvWaitKey(0) //se queda esperando a que se presione
//una tecla
cvReleaseImage( &img ) //se libera el recurso de memoria donde est la imagen
cvDestroyWindow("Ejemplo2" ) //destruimos la ventana
}
Ejemplo 3:
Crear una regin de inters y mostrarla en otra ventana:
http://picasaweb.google.com/lh/photo/q7nlCQt3K7nkdsYebnDdRVpNtULY5a-KkHuPCd6ht1c?feat=embedwebsite7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
4/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
#include < opencv/highgui.h >
int main( int argc, char** argv )
{
CvPoint pt1, pt2
int width
int height
IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED )
//Cargamos la imagen que le pasamos
cvNamedWindow( "Ejemplo3", CV_WINDOW_AUTOSIZE )
//creamos una ventana con el nombre Ejemplo 1
cvNamedWindow( "ROI", CV_WINDOW_AUTOSIZE)
//creamos una ventana con el nombre ROI
//donde estar la regin de interes
pt1.x = 100
pt1.y = 10
pt2.x = 220
pt2.y = 150
width = pt2.x - pt1.x
height = pt2.y - pt1.y
cvShowImage("Ejemplo3", img ) //mostramos la imagen en la ventana
//anteriormente creada
cvSetImageROI( img, cvRect( pt1.x, pt1.y, width, height ))
cvShowImage("ROI", img ) //mostramos la imagen en la ventana
//anteriormente creada
cvWaitKey(0) //se queda esperando a que se presione
//una tecla
cvReleaseImage( &img ) //se libera el recurso de memoria donde est la imagen
cvDestroyWindow("Ejemplo3" ) //destruimos la ventana
cvDestroyWindow("ROI" ) //destruimos la ventana
}
7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
5/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
Ejemplo 4:
Cambiar el tamao de una imagen:
#include < opencv/highgui.h >
#include < opencv/cv.h >
int main( int argc, char** argv )
{
IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED ) //Cargamos la imagen que le pasamos
IplImage *ampl = cvCreateImage( cvSize(500,500),IPL_DEPTH_8U, 3) //reservamos memoria para la imagen amplificada
cvNamedWindow( "Ejemplo4", CV_WINDOW_AUTOSIZE ) //creamos una ventana con el nombre Ejemplo 1
cvNamedWindow( "AMP", CV_WINDOW_AUTOSIZE) //creamos una ventana con el nombre AMP
//donde estar la imagen ampliada
cvResize(img,ampl,CV_INTER_CUBIC) // escalado de la imagen
//del tamao de la imagen creada
cvShowImage("Ejemplo4", img ) //mostramos la imagen en la ventana
//anteriormente creada
http://picasaweb.google.com/lh/photo/86BXjY0LH2qASI9SrRhtaVpNtULY5a-KkHuPCd6ht1c?feat=embedwebsite7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
6/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
cvShowImage("AMP", ampl ) //mostramos la imagen en la ventana
//anteriormente creada
cvWaitKey(0) //se queda esperando a que se presione
//una tecla
cvReleaseImage( &img ) //se libera el recurso de memoria donde est la imagen
cvDestroyWindow("Ejemplo4" ) //destruimos la ventana
cvDestroyWindow("AMP" ) //destruimos la ventana
}
Ejemplo 5:
Imprimir texto dentro del dibujo:
#include < opencv/highgui.h >
int main( int argc, char** argv )
{
http://picasaweb.google.com/lh/photo/FUcDfdcpnoyIF_Lq1inD81pNtULY5a-KkHuPCd6ht1c?feat=embedwebsite7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
7/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
CvFont font
CvPoint pt1
cvInitFont( &font, CV_FONT_VECTOR0, 0.5, 0.5, 0, 2.0, CV_AA) //Inicializamos el cdigo fuente
IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_UNCHANGED ) //Cargamos la imagen que le pasamos
cvNamedWindow( "Ejemplo5", CV_WINDOW_AUTOSIZE ) //creamos una ventana con el nombre Ejemplo 1
pt1.x = 220
pt1.y = 30
cvPutText(img, "Hola Tux", pt1, &font,CV_RGB(255,190,44) )
cvShowImage("Ejemplo5", img ) //mostramos la imagen en la ventana
//anteriormente creada
cvWaitKey(0)
//se queda esperando a que se presione
//una tecla
cvReleaseImage( &img ) //se libera el recurso de memoria donde est la imagen
cvDestroyWindow("Ejemplo5" ) //destruimos la ventana
}
7/26/2019 Ejemplos Bsicos Con OpenCv _ Sebest
8/8
24/2/2016 Ejemplos Bsicos con OpenCv | Sebest
http://www.sebest.com.ar/?q=node/79
Bien, con esto y Facedetec pude realizar el proyecto GNU FALCO as que compilen estos ejemplos bsicos en sus casas y
realicen las pruebas que quieran. Espero que esto inspire a muchos para empezar con el uso de esta maravillosa librera.
http://www.sebest.com.ar/?q=node/78http://picasaweb.google.com/lh/photo/eto7vzuhFlNqtpeMvhkAzFpNtULY5a-KkHuPCd6ht1c?feat=embedwebsite