waitkey 0xff c++ c opencv image-processing computer-vision

c++ - 0xff - ¿Debería dejar de usar OpenCV?



cv2.waitkey(1) & 0xff (7)

Antes que nada, quiero que sepas que realmente me gusta OpenCV. Lo he estado utilizando durante mucho tiempo, y lo uso tanto que puedo contar con una mano la cantidad de veces que tuve que mirar el documento el mes pasado. Creo que este es realmente el tipo de herramienta que quieres usar cuando trabajas a diario con la visión de la computadora.

Aunque creo que tengo una sensación creciente de que Opencv realmente no es adecuado para aplicaciones de uso. Estoy trabajando en proyectos de mascotas que están diseñados para ser instalados por cualquiera, fácilmente.

La última versión de OpenCV no viene con Exes, y los paquetes de Linux están tan desactualizados que ni siquiera me atrevo a usarlos. La mejor solución es, por lo tanto, la mayoría de los casos de compilación. Lo mismo cuando se piensa en aplicaciones móviles o en la computación en la nube ( aunque la solución parece existir ).

Entonces mi pregunta es, ¿cómo están ustedes? Hay muchas aplicaciones basadas en la visión por computadora en todas partes a mi alrededor, basadas en la nube, basadas en dispositivos móviles,. . . ¿Qué herramientas usas?

Estaría buscando algo que esté disponible para un máximo de plataformas, ¡pero sobre todo fácil de usar a través de una aplicación!

He buscado mucho en Internet, pero siempre recurro a que OpenCV es la "mejor" herramienta para la visión por computadora.

Estoy abierto a cualquier solución / lenguaje / herramienta / marco.

Gracias !


La última versión de OpenCV no viene con Exes, ¿Te refieres a los instaladores binarios? Bueno, están disponibles para algunas plataformas y no para otras.

Cuando se trata de rendimiento, calidad y precio (gratis), ninguna de las otras herramientas puede coincidir con OpenCV. Para aquellos que tienen experiencia en programación, la curva de aprendizaje inicial no es un gran problema.

Es cierto que OpenCV no tiene una interfaz similar a la de PD / MAX donde personas como artistas pueden prototipar rápidamente algo. Ojalá tuviera tiempo para trabajar en eso.


Deberías seguir usando la biblioteca gratuita que dices que te encanta, para la que has memorizado la API, y que resuelve los problemas que necesitas resolver.

Algún día, los efectos de red probablemente lo forzarán a una nueva plataforma, pero hasta entonces, ¡concéntrese en hacer!


Estoy de acuerdo con otro mensaje: hoy, openCV es la mejor (y la única ...) biblioteca de visión por computadora.

En el mundo del código abierto, también puede verificar Scilab, Octave, pero es complicado empaquetar una aplicación final.

No olvides que tienes una buena libración propia como Halcon de MVTech.

Pero también estoy de acuerdo en que openCV necesita mejorar sus herramientas de compilación / lib, etc ... Por eso, para mi aplicación, decido eliminar openCV y reescribir la función que necesito. Uso openCV solo para prototipos.

También lamento la elección de C ++, el operador del proceso de imagen central solo necesita C en la mayoría de los casos. Preferiría una biblioteca de 2 niveles: core en C, nivel superior en C ++ (o python).

Cordial saludo


Si necesita las versiones más recientes de OpenCV, puede considerar una distribución Gnu / Linux de lanzamiento continuo. Al igual que Archlinux, Gentoo, Linux Mint Debian Edition (utiliza el repositorio de prueba de Debian). Por supuesto, las distribuciones de lanzamiento rodante tienen desventajas sobre las distribuciones de lanzamiento fijo, pero depende de usted sopesar los pros y los contras y elegir uno.

Estoy usando ArchLinux. Es bastante estable. OpenCV versión - 2.4.9, la última.


Solo para agregar a las ya excelentes respuestas. Un pequeño resumen de por qué tiene todo el sentido quedarse con OpenCV:

  1. Está libremente licenciado bajo BSD
  2. Tiene un gran y creciente equipo de desarrollo
  3. Grupos de soporte de Avid a través de o Yahoo Group
  4. Precio, o falta de eso :)

Para seguir insistiendo en la cantidad que obtienes gratis con OpenCV, considera Ohloh''s costo estimado Ohloh''s para las 2.849.367 líneas de código. Le costaría ... aproximadamente 45 millones de dólares pagar para que otra persona lo desarrolle.

En una nota lateral, si necesita un paquete rápido de Ubuntu OpenCV, Gijs Molenaar tiene un PPA de 2.3 disponible. Me imagino que pronto obtendrá 2.4.


Uso OpenCV para PC, Linux y teléfonos y tabletas Android, y la forma más eficiente que encontramos es utilizar CMake para compilar y construir el proyecto. Es un poco complicado la primera vez, pero es realmente cómodo construir tu proyecto automáticamente. OpenCV viene con un archivo FindOpenCV.cmake que permite a cmake encontrar un enlace a las carpetas de OpenCV para su proyecto.

Creo que OpenCV es la mejor biblioteca que puedes encontrar, aunque algunos algoritmos no son lo suficientemente rápidos para dispositivos ARM como tabletas y teléfonos. Lo que hacemos es analizar el código ensamblador generado por el compilador y luego tratar de optimizar las funciones OpenCV de cuello de botella, por ejemplo, usando aritmética de punto fijo.

Espero que esto te sea útil.


OpenCV es la mejor biblioteca de código abierto disponible en este momento .

La gente lo ha usado en varias plataformas y dispositivos, y yo también.

La única forma confiable que conozco de distribuir una aplicación OpenCV es construir la biblioteca usted mismo y enviar los archivos binarios OpenCV junto con su aplicación.

Existen herramientas que pueden ayudarlo a listar y recuperar las bibliotecas que necesita su aplicación:

  • Desplegando para Linux? Revisa esta publicación
  • Despliegue para Windows? Mira esto