x
1

OpenCV



OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. OpenCV significa Open Computer Vision (Visión Artificial Abierta). Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha utilizado en una gran cantidad de aplicaciones, y hasta 2020 se la sigue mencionando como la biblioteca más popular de visión artificial.[1]​ Detección de movimiento, reconocimiento de objetos, reconstrucción 3D a partir de imágenes, son sólo algunos ejemplos de aplicaciones de OpenCV.

Su popularidad se debe a que es:

El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y altamente eficiente. Esto se ha logrado realizando su programación en código C y C++ optimizados, aprovechando además las capacidades que proveen los procesadores multinúcleo. OpenCV puede además utilizar el sistema de primitivas de rendimiento integradas de Intel, un conjunto de rutinas de bajo nivel específicas para procesadores Intel (IPP).

Las áreas de aplicación de OpenCV incluyen:

OpenCV está totalmente desarrollado en C++, orientado a objetos y con alta eficiencia computacional. Su API es C++ pero incluye conectores para otros lenguajes:

La documentación y tutoriales se brindan para estos lenguajes, en orden de relevancia:

Es el nombre dado a conector de OpenCV para Javascript. Introducido en la versión 3.4 de OpenCV en diciembre de 2017, fue posible gracias a la nueva tecnología WebAssembly en los navegadores, anunciada en noviembre de ese año.[2]

OpenCV.JS no está escrito en javascript. Técnicamente, es la compilación del código C++ de OpenCV en una máquina virtual WebAssembly, que se convierte en código nativo al ejecutarse en un navegador, lo que lo hace casi tan eficiente como la biblioteca nativa de OpenCV.

El soporte es parcial, sólo la parte principal de OpenCV fue portada a WebAssembly para que se pueda ejecutar en navegadores y usar con Javascript. Los tutoriales incluyen instrucciones para compilar cualquier otra parte de OpenCV, de modo que un desarrollador puede acceder a la biblioteca completa de OpenCV, pero mediante un trabajo arduo que requiere conocimiento experto, lo que deja fuera a la mayoría de los desarrolladores que quiere explorar el uso de OpenCV en navegadores.

OpenCV ofrece soporte para varios sistemas operativos y varias arquitecturas de hardware, pero también ofrece el código fuente para que cualquier desarrollador lo compile en cualquier sistemas operativo y arquitectura particular.

OpenCV brinda instrucciones de instalación y opcionalmente binarios para estos sistemas operativos

OpenCV se utiliza prácticamente en cualquier plataforma con capacidad suficiente, compilando su código fuente. De este modo se la utiliza en PC, celulares y placas de prototipado como Raspberry Pi o NVidia Jetson.

Hace uso de la paralelización a través de IPP y TBB.

Hace uso de la arquitectura híbrida cuando está disponible, a través de sus módulos CUDA y OpenCL, para aprovechar la potencia de procesamiento de las placas gráficas. No se debe confundir, OpenCV no brinda soporte para desarrolladores de CUDA, sino lo contrario: tiene un módulo escrito en CUDA para que los desarrolladores de C++ (y otros lenguajes soportados) puedan utilizarlo sin necesidad de escribir código CUDA.

En 2020 OpenCV cuenta con líneas activas en paralelo, que difieren por su número de versión mayor :


Intel inició OpenCV en enero de 1999, liberando el código al público en 2000. Varias versiones alfa circularon con creciente adopción durante más de 5 años. Intel lanzó luego las versiones 1.0 (en 2006) y 2.0 (en 2009), y en agosto de 2012 delegó el proyecto a la fundación sin fines de lucro OpenCV.org, que mantiene su desarrollo y sitio web.

El continuo desarrollo de OpenCV se realiza exclusivamente por medio de voluntariado. Importantes compañías apoyan el desarrollo de OpenCV. Por ejemplo, el módulo SFM fue originalmente desarrollado durante varios años en el Google Summer Code.[4]

La misión de OpenCV es proveer una infraestructura común para aplicaciones de visión artificial y acelerar su uso en productos comerciales,[5]​ para lo cual ofrece su código libre bajo licencia BSD, de libre uso y modificación. Hace hincapié en la performance y en la facilidad de uso.



Escribe un comentario o lo que quieras sobre OpenCV (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!