¿Cuál es la mejor biblioteca para visión artificial en C / C++? [cerrado]


¿De qué bibliotecas tengo que elegir cuando trabajo con Visión artificial en C/C++?

Me doy cuenta de que Google tiene un montón de buenos resultados, pero tal vez hay grandes bibliotecas por ahí que se perdió.

Author: Eddie, 2008-09-16

14 answers

Usamos OpenCV extensivamente donde trabajo.

Proporciona un conjunto completo de excelentes herramientas de procesamiento de visión. Recomiendo leer a través de la wiki para una explicación más detallada y una mejor explicación escrita que lo que daría.

 36
Author: scubabbl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 20:44:07

OpenCV es muy popular, y sin duda es bueno, pero si te tomas en serio C++ y te gustan los contenedores tipo STL, que también son muy rápidos, entonces esto vale la pena considerar:

LibCVD

Http://savannah.nongnu.org/projects/libcvd

Inicio del proyecto http://www.edwardrosten.com/cvd/index.html

Git: http://git.savannah.gnu.org/cgit/libcvd.git

Cambridge Video Dynamics-Biblioteca para imágenes, captura de vídeo, pantalla, ordenador visión y más. Se integra bien con TooN para un marco de álgebra lineal. Idioma: C++

Esto se desarrolla activamente, y tiene muchas características y algoritmos útiles, y generalmente esos tipos hacen que las cosas funcionen muy rápido.

Es LGPL.

Es posible compilarlo en Win, Linux y macOS X.

También hay una intención de proporcionar un puerto para Python con este, para permitir prototipos de algoritmos de Visión por Computadora con Python y SciPy muy rápido (no estoy seguro en qué etapa está ahora, pero hubo un documento sobre ello en una conferencia de Python.)

Si está tratando de hacer algo en tiempo real, debe considerar seriamente libCVD.

Por ejemplo, el framework PTAM (Parallel Tracking And Mapping) de Georg Klein utiliza esta biblioteca.

 11
Author: Denis C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-03 18:18:35

OpenCV es bastante maduro y cubre la mayoría de las áreas de la visión por computadora.

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 20:45:32

Para la visión artificial industrial las opciones posibles son:

También hay bibliotecas más especializadas para la visión artificial embebida, por ejemplo, Componentes de visión' VCLib y para tareas específicas, por ejemplo, para el reconocimiento de matrices de datos, existe libdmtx.

 4
Author: Michal Czardybon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-27 07:14:53

Me sería difícil darle una respuesta técnica con respecto a cuál es mejor, puedo decirle que tenemos una variedad de doctores que trabajan en varios problemas de visión por computadora para el trabajo y todos usan y recomiendan OpenCV.

 3
Author: scubabbl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 20:51:37

Puede haber sido implícito, pero la pregunta original no especificaba que las bibliotecas fueran FOSS. Dos bibliotecas comerciales líderes son:

Ambos admiten C++ y ofrecen pruebas gratuitas de 30 días.

 3
Author: hortman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-05 13:43:19

Las primitivas de rendimiento de Intel son bastante populares en el campo de la visión por computadora.

 3
Author: geschema,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-06 22:59:16

Tengo una mala experiencia con Matrox Imaging Library. No lo recomiendo porque:

  1. No orientado a objetos, hacen más difícil de mantener & solucionar / depurar los códigos.

  2. Mala documentación / manual de ayuda, las explicaciones son unclear / incomplete & lacking of coding ejemplo. Por ejemplo, mezclar el uso de diez funciones diferentes en una muestra de codificación corta.

  3. Si se usa en un entorno. NET (C#), matrox crea objetos administrados que necesitan memoria a ser liberado manualmente después de utilizado.

  4. Caro. Además de la licencia de desarrollador, necesita comprar licencias de tiempo de ejecución para todos sus clientes.

  5. Mal formato de licencia-utilice la llave usb dongle. Si perdiste el dongle, perdiste tu licencia.

 2
Author: BillyGater50B,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-05 10:06:57

Openframeworks usa opencv y proporciona un contenedor para él,

Por ejemplo, este código es clases que le ayudan a usar opencv de una manera fácil:

Http://svn.openframeworks.cc/browser/listing.php?repname=addons&path=%2FofxOpenCv%2Ftrunk%2FofxOpenCv%2Fsrc%2F#_ofxOpenCv_trunk_ofxOpenCv_src_

No son bibliotecas diferentes.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 08:56:47

Si tuviera que comparar OpenCV con openFrameworks - ¿cómo funcionaría? ¿Qué es mejor >en qué, y así sucesivamente?

Como he dicho anteriormente, DE utiliza opencv, (proporcionando una envoltura). No son diferentes. Tratamos de proporcionar una interfaz simple.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-26 10:26:40

Muchas personas han recomendado OpenCV, que es bastante bueno (he probado los wrappers de python, que está bien para la creación rápida de prototipos). También te gustaría echar un vistazo a gpuCV que utiliza las ventajas del paralelismo masivo en GPU para la visión por computadora. Su API es muy similar a la que tiene OpenCV (en su mayoría compatible) y oculta toda la programación de GPU del usuario/desarrollador.

 1
Author: hannson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-11 18:26:48

Aunque OpenCV es probablemente el más utilizado, un par de otros pueden valer la pena mirar:

Http://cimg.sourceforge.net / es una biblioteca muy similar a STL, altamente templada. Está contenido en un solo encabezado y el diseño de retorno por referencia significa que puede encadenar un montón de operaciones en una sola instrucción. Está respaldado por el INRIA (laboratorio nacional de investigación francés)

Http://vxl.sourceforge.net/ es muy similar a OpenCV pero tiene un diseño más C++. Mucho más como la nueva versión de OpenCV2.0 c++.

 1
Author: Martin Beckett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-21 22:18:30

OpenCV es probablemente el más famoso y extremadamente maduro. Pero ha habido un cambio reciente a los sistemas basados en CUDA debido a los beneficios de rendimiento, http://www.nvidia.com/object/cuda_home.html #

También para lenguajes más seguros como C#, Aforge. NET framework es bastante bueno,

 0
Author: Egon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-14 05:05:58

Si está utilizando OpenCV, consulte también http://camellia.sourceforge.net / (reimplementación de varias características IPP).

 0
Author: Cfr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-18 18:19:49