Articulo de referencia

OpenCV

OpenCV ( Open Source Computer Vision Library ) es una biblioteca de funciones de programación principalmente para visión artificial en tiempo real . [ 2 ] Desarrollada originalm...

OpenCV ( Open Source Computer Vision Library ) es una biblioteca de funciones de programación principalmente para visión artificial en tiempo real . [ 2 ] Desarrollada originalmente por Intel , posteriormente recibió el apoyo de Willow Garage y luego de Itseez (que más tarde fue adquirida por Intel [ 3 ] ). La biblioteca es multiplataforma y está licenciada como software libre y de código abierto bajo la Licencia Apache 2. A partir de 2011, OpenCV incorpora aceleración por GPU para operaciones en tiempo real. [ 4 ]

Historia

Lanzado oficialmente en 1999, el proyecto OpenCV fue inicialmente una iniciativa de Intel Research para impulsar aplicaciones que requieren un uso intensivo de la CPU , como parte de una serie de proyectos que incluían el trazado de rayos en tiempo real y pantallas 3D . [ 5 ] Entre los principales colaboradores del proyecto se encontraban varios expertos en optimización de Intel Rusia, así como el equipo de la biblioteca de rendimiento de Intel. En los inicios de OpenCV, los objetivos del proyecto se describieron [ 6 ] como:

  • Impulsar la investigación en visión artificial proporcionando código abierto y optimizado para la infraestructura básica de visión. Se acabó reinventar la rueda .
  • Difundir el conocimiento sobre visión artificial proporcionando una infraestructura común sobre la que los desarrolladores puedan construir, de modo que el código sea más legible y transferible.
  • Impulsar las aplicaciones comerciales basadas en visión artificial poniendo a disposición de forma gratuita código portátil y optimizado para el rendimiento, con una licencia que no exigía que el código fuera abierto o gratuito.

La primera versión alfa de OpenCV se presentó al público en la Conferencia IEEE sobre Visión por Computadora y Reconocimiento de Patrones en el año 2000, y se lanzaron cinco versiones beta entre 2001 y 2005. La primera versión 1.0 se lanzó en 2006. Una versión preliminar 1.1 se lanzó en octubre de 2008.

La segunda versión principal de OpenCV se lanzó en octubre de 2009. OpenCV  2 incluye cambios importantes en la interfaz de C++ , con el objetivo de lograr patrones más sencillos y seguros en cuanto a tipos, nuevas funciones y mejores implementaciones de las existentes en términos de rendimiento (especialmente en sistemas multinúcleo). Actualmente, las versiones oficiales se publican cada seis meses [ 7 ] y el desarrollo corre a cargo de un equipo ruso independiente con el apoyo de empresas comerciales.

En agosto de 2012, el soporte para OpenCV fue asumido por una fundación sin fines de lucro, OpenCV.org, que mantiene un sitio para desarrolladores [ 8 ] y usuarios. [ 9 ]

En mayo de 2016, Intel firmó un acuerdo para adquirir Itseez, [ 10 ] un desarrollador líder de OpenCV. [ 11 ]

Aplicaciones

openFrameworks ejecutando el ejemplo del complemento OpenCV

Las áreas de aplicación de OpenCV incluyen:

Para dar soporte a algunas de las áreas mencionadas anteriormente, OpenCV incluye una biblioteca de aprendizaje automático estadístico que contiene:

Lenguaje de programación

OpenCV está escrito en el lenguaje de programación C++ , al igual que su interfaz principal. Existen enlaces para Python , Java y MATLAB / Octave . La interfaz de programación de aplicaciones ( API ) para estas interfaces se puede encontrar en la documentación en línea. [ 13 ] Se han desarrollado bibliotecas de envoltura en varios lenguajes para fomentar su adopción por un público más amplio. En la versión 3.4, se publicaron enlaces de JavaScript para un subconjunto seleccionado de funciones de OpenCV como OpenCV.js, para su uso en plataformas web. [ 14 ]

aceleración de hardware

Si la biblioteca encuentra las primitivas de rendimiento integrado de Intel en el sistema, utilizará estas rutinas optimizadas propietarias para acelerar su funcionamiento.

Se ha estado trabajando en una interfaz de unidad de procesamiento gráfico (GPU) basada en la arquitectura de dispositivo unificado de computación ( CUDA ) desde septiembre de 2010. [ 15 ]

Se ha estado desarrollando una interfaz de GPU basada en OpenCL desde octubre de 2012, [ 16 ] la documentación para la versión 2.4.13.3 se puede encontrar en docs.opencv.org. [ 17 ]

Una IPU también puede utilizar la aceleración por hardware de OpenCV.

Véase también

Referencias

  1. asmorkalov (6 de junio de 2026). "OpenCV 5.0.0" . Consultado el 6 de junio de 2026 .
  2. ^ Pulli, Kari; Baksheev, Anatoly; Korniakov, Kirill; Eruhimov, Victor (1 de abril de 2012). "Visión por computadora en tiempo real con OpenCV" . Cola ACM . 10 (4): 40:40–40:56. doi : 10.1145/2181796.2206309 .
  3. "Intel adquiere Itseez" . Biblioteca OpenCV . 27 de mayo de 2016. Archivado del original el 10 de junio de 2024. Consultado el 6 de junio de 2026 .
  4. "CUDA" . opencv.org . Consultado el 15 de octubre de 2020 .
  5. Kaehler, Adrian; Bradski, Gary (14 de diciembre de 2016). Aprendiendo OpenCV 3: Visión por computadora en C++ con la biblioteca OpenCV . O'Reilly Media. pp. 26 y ss. ISBN  978-1-4919-3800-3.
  6. Bradski, Gary; Kaehler, Adrian (2008). Aprendiendo OpenCV: Visión por computadora con la biblioteca OpenCV . O'Reilly Media. pág. 6. 
  7. "OpenCV - ChangeLog" . OpenCV DevZone . Archivado del original el 15 de enero de 2013. Consultado el 6 de junio de 2026 .
  8. "Sitio web para desarrolladores de OpenCV" . Archivado del original el 15 de enero de 2013.
  9. "OpenCV - Biblioteca abierta de visión artificial" . OpenCV . Archivado del original el 2 de junio de 2026. Consultado el 6 de junio de 2026 .
  10. "Intel adquiere la división de visión artificial para IoT y automoción" . Sala de prensa de Intel . Consultado el 26 de noviembre de 2018 .
  11. "Intel adquiere la empresa rusa de visión artificial Itseez" . East-West Digital News . 31 de mayo de 2016. Consultado el 26 de noviembre de 2018 .
  12. "OpenCV 3.3" . Biblioteca OpenCV . Archivado del original el 14 de febrero de 2019. Consultado el 6 de junio de 2026 .
  13. "Módulos de OpenCV" .
  14. "Introducción a OpenCV.js y tutoriales" . Consultado el 6 de junio de 2026 .
  15. "Adaptación de CUDA para GPU" . Archivado del original el 21 de mayo de 2016.
  16. "OpenCV v2.4.3 está en desarrollo" . Biblioteca OpenCV . Archivado del original el 17 de febrero de 2019. Consultado el 6 de junio de 2026 .
  17. "ocl. Visión por computadora acelerada por OpenCL — Documentación de OpenCV 2.4.11.0" . docs.opencv.org . Archivado del original el 24 de septiembre de 2015. Consultado el 6 de junio de 2026 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=OpenCV&oldid=1358141443 "