Proyecto Fin de Carrera

Robótica, software y telecomunicaciones.

Filtrando con OpenCV2.2

Como he comentado en otras entradas, en OpenCV2.2 se trabaja con Mat en lugar de las típicas IplImage o cvMat, por lo que la mayoría de la documentación existente que hace referencia a estas clases no nos sirve.

En ese caso, lo mejor es buscar la forma de hacer lo que necesitemos desde la documentación de OpenCV.

Hasta el momento he conseguido realizar un suavizado (blur) usando el filtro de mediana y una binarización por umbral (threshold), los cuales se pueden observar en la siguiente captura.

El código utilizado ha sido el siguiente:

 cv::cvtColor(imageCVrgb, imageCVrgb, CV_BGR2RGB);
 cv::cvtColor(imageCVrgb,imageCVir,CV_BGR2GRAY);
 cv::medianBlur(imageCVrgb, imageCVrgb, 7);
 cv::adaptiveThreshold(imageCVir, imageCVir, 255, 0, 0, 7, 0);
 imshow("newWindow",imageCVrgb);
 imshow("newWindow2",imageCVir);
 waitKey(2);

Por supuesto, ha sido necesario declarar las variables correspondientes en worker.h y la inicialización de las ventanas en el constructor de worker.cpp.

Anuncios

11 abril 2011 Posted by | all | | Deja un comentario

   

A %d blogueros les gusta esto: