stringtranslate.com

OpenCV

OpenCV ( Open Source Computer Vision Library ) es una biblioteca de funciones de programación principalmente para visión artificial en tiempo real . [2] Originalmente desarrollada por Intel , luego fue apoyada por Willow Garage y luego por Itseez (que luego fue adquirida por Intel [3] ). La biblioteca es multiplataforma y tiene licencia de software libre y de código abierto bajo la Licencia Apache 2. A partir de 2011, OpenCV cuenta con aceleración de GPU para operaciones en tiempo real. [4]

Historia

El proyecto OpenCV, lanzado oficialmente en 1999, fue inicialmente una iniciativa de Intel Research para impulsar aplicaciones que hacen un uso intensivo de la CPU , parte de una serie de proyectos que incluyen el trazado de rayos en tiempo real y las pantallas 3D . [5] Entre los principales contribuyentes al proyecto se encontraban varios expertos en optimización de Intel Rusia, así como el equipo de la biblioteca de rendimiento de Intel. En los primeros días de OpenCV, los objetivos del proyecto se describían [6] como:

La primera versión alfa de OpenCV se lanzó al público en la Conferencia IEEE sobre Visión por Computador y Reconocimiento de Patrones en 2000, y se lanzaron cinco versiones beta entre 2001 y 2005. La primera versión 1.0 se lanzó en 2006. Una versión 1.1 "pre-lanzada" se lanzó en octubre de 2008.

El segundo lanzamiento importante de OpenCV se realizó en octubre de 2009. OpenCV 2 incluye cambios importantes en la interfaz de C++ , con el objetivo de crear patrones más sencillos y con mayor seguridad de tipos, nuevas funciones y mejores implementaciones de las existentes en términos de rendimiento (especialmente en sistemas multinúcleo). Los lanzamientos oficiales ahora se realizan cada seis meses [7] y el desarrollo ahora lo realiza un equipo ruso independiente respaldado por corporaciones 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]

En julio de 2020, OpenCV anunció y comenzó una campaña de Kickstarter para el OpenCV AI Kit, una serie de módulos de hardware y adiciones a OpenCV que admiten IA espacial.

En agosto de 2020, OpenCV lanzó OpenCV.ai, la división de consultoría profesional. El equipo de desarrolladores brinda servicios de consultoría y ofrece soluciones de visión artificial , aprendizaje automático e inteligencia artificial . [12]

Aplicaciones

Ejemplo de ejecución del complemento OpenCV en openFrameworks

Las áreas de aplicación de OpenCV incluyen:

Para respaldar 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, pero aún conserva una interfaz C más antigua, menos completa aunque extensa . Todos los desarrollos y algoritmos más nuevos aparecen en la interfaz C++. Hay enlaces de lenguaje en 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. [14] Se han desarrollado bibliotecas de envoltura en varios lenguajes para fomentar la adopción por parte de un público más amplio. En la versión 3.4, los enlaces de JavaScript para un subconjunto seleccionado de funciones de OpenCV se lanzaron como OpenCV.js, para ser utilizados en plataformas web. [15]

Aceleración de hardware

Si la biblioteca encuentra las primitivas de rendimiento integradas de Intel en el sistema, utilizará estas rutinas optimizadas propietarias para acelerarse.

Desde septiembre de 2010 se está desarrollando una interfaz de unidad de procesamiento gráfico (GPU) basada en la Arquitectura de Dispositivo Unificado de Computación ( CUDA ) . [16]

Desde octubre de 2012 se está desarrollando una interfaz GPU basada en OpenCL , [17] la documentación para la versión 2.4.13.3 se puede encontrar en docs.opencv.org. [18]

Compatibilidad con sistemas operativos

OpenCV se ejecuta en los sistemas operativos de escritorio : Windows , Linux , macOS , FreeBSD , NetBSD y OpenBSD , así como en los sistemas operativos móviles: Android , iOS , Maemo , [19] BlackBerry 10 y QNX . [20] El usuario puede obtener versiones oficiales de SourceForge o tomar las últimas fuentes de GitHub . [21] OpenCV usa CMake .

Véase también

Referencias

  1. ^ "¡OpenCV 4.10.0 ya está disponible!". 4 de junio de 2024. Consultado el 8 de junio de 2024 .
  2. ^ Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1 de abril de 2012). "Visión artificial en tiempo real con OpenCV". Cola . 10 (4): 40:40–40:56. doi : 10.1145/2181796.2206309 .
  3. ^ Intel adquiere Itseez: https://opencv.org/intel-acquires-itseez.html Archivado el 14 de febrero de 2019 en Wayback Machine
  4. ^ "CUDA". opencv.org . Consultado el 15 de octubre de 2020 .
  5. ^ Adrian Kaehler; Gary Bradski (14 de diciembre de 2016). Aprendizaje de OpenCV 3: Visión artificial en C++ con la biblioteca OpenCV. O'Reilly Media. pp. 26ff. ISBN 978-1-4919-3800-3.
  6. ^ Bradski, Gary; Kaehler, Adrian (2008). Aprendiendo OpenCV: Visión artificial con la biblioteca OpenCV . O'Reilly Media, Inc. p. 6.
  7. ^ Registros de cambios de OpenCV: http://code.opencv.org/projects/opencv/wiki/OpenCV/ChangeLog Archivado el 15 de enero de 2013 en Wayback Machine
  8. ^ Sitio para desarrolladores de OpenCV: http://code.opencv.org Archivado el 13 de enero de 2013 en archive.today
  9. ^ Sitio de usuario de OpenCV: http://opencv.org/
  10. ^ "Intel adquiere Computer Vision para IoT y automoción | Intel Newsroom". Intel Newsroom . Consultado el 26 de noviembre de 2018 .
  11. ^ "Intel adquiere la empresa rusa de visión artificial Itseez". East-West Digital News . 2016-05-31 . Consultado el 2018-11-26 .
  12. ^ Sitio de consultoría de OpenCV: http://opencv.ai/
  13. ^ OpenCV: http://opencv.org/opencv-3-3.html Archivado el 14 de febrero de 2019 en Wayback Machine.
  14. ^ Interfaz C de OpenCV: http://docs.opencv.org
  15. ^ Introducción a OpenCV.js y tutoriales
  16. ^ "Puerto GPU Cuda". Archivado desde el original el 21 de mayo de 2016.
  17. ^ Anuncio de OpenCL: http://opencv.org/opencv-v2-4-3rc-is-under-way.html Archivado el 17 de febrero de 2019 en Wayback Machine
  18. ^ Referencia de API de visión artificial acelerada por OpenCL: http://docs.opencv.org/modules/ocl/doc/ocl.html
  19. ^ "Transmisión de la biblioteca de visión artificial de código abierto (OpenCV) de Intel a Maemo". Maemo Garage . 10 de agosto de 2011 . Consultado el 30 de enero de 2023 .
  20. ^ hungc (4 de septiembre de 2019). "Puerto de OpenCV para Blackberry [parcial]". GitHub .
  21. ^ "opencv/Opencv: Biblioteca de visión artificial de código abierto". GitHub . 21 de mayo de 2020.