Historia de OpenCV

Historia de OpenCV

La librería OpenCV es una librería de programación desarrollada especialmente para el procesamiento de imágenes en tiempo real y para procesamiento de visión. Esta librería comenzó en 1999 en Intel por Gary Bradski, con el objetivo de acelerar las aplicaciones de visión por ordenador, de forma que cada vez que se hiciese una aplicación no hubiese que "reinventar la rueda", sino que se utilizasen algoritmos ya estudiados y optimizados directamente.

La primera versión alfa de OpenCV apareció en público en el IEEE Conference on Computer Vision and Pattern Recognition en el año 2000. Posteriormente, del 2001 al 2005 salieron 5 versiones betas, y la primera versión oficial no beta (la versión 1.0) surgió en 2006. Un par de años después, en 2008 OpenCV recibió el apoyo de la compañia Willow Garage, que actualmente sigue encargándose de su desarrolo.

Una de las razones por las que OpenCV se ha convertido en una de las librerías de visión más conocidas, además de por su potencia y gran variedad de algoritmos de procesamiento de imágenes, es gracias a su publicación bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación de forma gratuita. Entre la gran variedad de algoritmos de que dispone se encuentran algoritmos y herramientas para:

  • Detección de características 2D y 3D.
  • Estimación de movimiento.
  • Segmentación y reconocimiento.
  • Identificación de objetos.
  • Seguimiento del movimiento.
  • Reconocimiento facial y de gestos.
  • Visión estéreo y calibración.

OpenCV fue originalmente escrita en C, si bien a partir de la versión de OpenCV 2.0 del 2008 se ha mejorado sustancialmente el interfaz de C++, con lo que actualmente resulta mucho más fácil trabajar con OpenCV en C++ que en C ya que se evitan muchos problemas de liberación de memoria. Sin embargo, OpenCV tambien puede ser usada en Java, C#, Python o Ruby, asegurándose su uso independientemente del lenguaje preferido por cada programador. Por último, y para aumentar la eficiencia de OpenCV, las últimas versiones incluyen tambien soporte para GPU usando CUDA.

Por último, comentar que además de estar disponible para múltiples lenguajes de programación, OpenCV es multiplataforma, por lo que tambíen está disponible para distintos sistemas operativos. Concretamente hay versiones para GNU/Linux, Mac OS X, Windows, Android, iOS, etc.


Obra publicada con Licencia Creative Commons Reconocimiento 2.5