OpenCV
OpenCV se inició en Intel en 1999 por Gary Bradsky, y el primer lanzamiento salió en 2000. Vadim Pisarevsky se unió a Gary Bradsky para administrar el equipo de software ruso OpenCV de Intel. En 2005, OpenCV fue utilizado en Stanley, el vehículo que ganó el DARPA Grand Challenge de 2005. Más tarde, su desarrollo activo continuó bajo el apoyo de Willow Garage con Gary Bradsky y Vadim Pisarevsky liderando el proyecto. OpenCV ahora admite una multitud de algoritmos relacionados con la Visión por Computadora y el Aprendizaje Automático y se está expandiendo día a día.
OpenCV soporta una amplia variedad de lenguajes de programación como C++, Python, Java, etc., y está disponible en diferentes plataformas, incluyendo Windows, Linux, OS X, Android e iOS. Las interfaces para operaciones de GPU de alta velocidad basadas en CUDA y OpenCL también están en desarrollo activo.
OpenCV-Python es la API de Python para OpenCV, que combina las mejores cualidades de la API de OpenCV C++ y el lenguaje Python.
OpenCV-Python
OpenCV-Python es una biblioteca de enlaces Python diseñada para resolver problemas de visión artificial.
Python es un lenguaje de programación de propósito general iniciado por Guido van Rossum que se hizo muy popular muy rápidamente, principalmente debido a su simplicidad y legibilidad de código. Permite al programador expresar ideas en menos líneas de código sin reducir la legibilidad.
En comparación con lenguajes como C/C++, Python es más lento. Dicho esto, Python se puede extender fácilmente con C/C++, lo que nos permite escribir código computacionalmente intensivo en C/C++ y crear envoltorios Python que se pueden usar como módulos Python. Esto nos da dos ventajas: primero, el código es tan rápido como el código C/C++ original (ya que es el código C++ real que funciona en segundo plano) y segundo, es más fácil codificar en Python que C/C++. OpenCV-Python es un contenedor de Python para la implementación original de OpenCV C++.
OpenCV-Python hace uso de Numpy, que es una biblioteca altamente optimizada para operaciones numéricas con una sintaxis de estilo MATLAB. Todas las estructuras de matrices OpenCV se convierten a y desde matrices Numpy. Esto también facilita la integración con otras bibliotecas que usan Numpy, como SciPy y Matplotlib.
Tutoriales de OpenCV-Python
OpenCV presenta un nuevo conjunto de tutoriales que lo guiarán a través de varias funciones disponibles en OpenCV-Python. Esta guía se centra principalmente en OpenCV 3.versión x (aunque la mayoría de los tutoriales también funcionarán con OpenCV 2.x).
Se recomienda tener conocimientos previos de Python y Numpy, ya que no se tratarán en esta guía. La habilidad con Numpy es una necesidad para escribir código optimizado usando OpenCV-Python.
Este tutorial fue iniciado originalmente por Abid Rahman K. como parte del programa Google Summer of Code 2013 bajo la guía de Alexander Mordvintsev.
¡OpenCV Te Necesita !!!
Dado que OpenCV es una iniciativa de código abierto, todos son bienvenidos a hacer contribuciones a la biblioteca, documentación y tutoriales. Si encuentras algún error en este tutorial (desde un pequeño error de ortografía hasta un error atroz en código o concepto), no dudes en corregirlo clonando OpenCV en GitHub y enviando una solicitud de extracción. Los desarrolladores de OpenCV comprobarán su solicitud de extracción, le darán comentarios importantes y (una vez que pase la aprobación del revisor) se fusionará con OpenCV. Luego se convertirá en un colaborador de código abierto 🙂
A medida que se agreguen nuevos módulos a OpenCV-Python, este tutorial tendrá que expandirse. Si está familiarizado con un algoritmo en particular y puede escribir un tutorial que incluya la teoría básica del algoritmo y el código que muestra el uso de un ejemplo, hágalo.
Recuerde, juntos podemos hacer de este proyecto un gran éxito !!!
Colaboradores
A continuación se muestra la lista de colaboradores que enviaron tutoriales a OpenCV-Python.
- Alexander Mordvintsev (mentor de GSoC-2013)
- Abid Rahman K. (pasante de GSoC-2013)