Funciones gráficas

Funciones gráficas

En este apartado se comentarán las capacidades gráficas que ofrece OpenCV. Antes de continuar, hay que dejar claro que OpenCV no está pensada como una librería para generación de gráficos, por lo que éste no es su fuerte, faltándole cosas básicas como el uso de un canal alfa en las funciones de dibujo. Sin embargo, y a falta de conocer otras librerías de gráficos, OpenCV ofrece una amplia variedad de posibilidades que permiten hacer representaciones y dibujos bastante elaborados.

Antes de empezar a comentar las funciones gráficas que ofrece OpenCV, conviene comentar la clase cv::Point. La clase Point se usa para indicar los puntos de inicio y final cuando se va a dibujar. Para instanciar una variable de la clase Point tan solo hay que pasarle como parámetros el valor x e y del punto, y sus miembros son point.x y point.y. Al igual que esta clase, hay una clase rect que permite definir un rectángulo mediante sus valorse x, y, ancho y alto.

Una vez comentadas las clases básicas punto y rectángulo, necesarias para dibujar en OpenCV, se explicarán brevemente las funciones gráfica más relevantes que ofrece OpenCV:

  • Dibujar una línea. Para dibujar una línea se usa la función cv::line. La función line necesita como parámetros la imagen sobre la que se va a dibujar, el punto de inicio y final de la línea, el color del que se va a dibujar la línea, el ancho de la línea, el tipo de línea (lo normal es que sea CV_AA, que es una línea con antialiasing) y un último parámetro que indica un desplazamiento y que siempre se pone a 0.
  • Dibujar un rectángulo. Para dibujar un rectángulo se usa la función cv::rectangle. La función rectangle necesita como parámetros la imagen sobre la que se va a dibujar, el punto de inicio y final del rectángulo, el color con el que se va a dibujar el rectángulo, el ancho de la línea del rectángulo (si se pone -1 quiere decir que el rectángulo se rellena completamente del color indicado), el tipo de línea (al igual que antes, lo normal es CV_AA) y el parámetro de desplazamiento (igual a 0).
  • Dibujar un círculo. Para dibujar un círculo se usa la función cv::circle. La función circle necesita como parámetros la imagen sobre la que se va a dibujar, el centro y el radio del círculo, el color con el que se va a dibujar el círculo, el ancho de la línea del círculo (si se pone -1 quiere decir que se rellena completamente del color indicado), el tipo de línea (al igual que antes CV_AA) y el parámetro de desplazamiento (igual a 0).
  • Dibujar texto. Para dibujar texto se usa la función cv::putText. La función putText necesita como parámetros la imagen sobre la que se va a dibujar, el texto que se va a dibujar, el punto de inicio del texto, el tipo de letra (por ejemplo la CV_FONT_HERSHEY_SIMPLEX), el tamaño de la letra (1 es el tamaño por defecto, se puede tanto aumentar como disminuir) y el color con el que se va a dibujar el texto

Estas son las funciones más básicas que se pueden requerir para generar gráficos, pero aparte de éstas, OpenCV tambien ofrece la posibilidad de dibujar polígonos (cv::polylines), elipses (cv::ellipse), etc.

 

 

 

Obra publicada con Licencia Creative Commons Reconocimiento 2.5