¿Envoltorios. Net (dotNet) para OpenCV? [cerrado]


He visto que hay algunos de ellos. opencvdotnet, SharperCV, EmguCV, Uno sobre el Proyecto de Código.

¿Alguien tiene alguna experiencia con cualquiera de estos? Jugué un poco con el proyecto de Código, pero tan pronto como traté de hacer algo complicado, obtuve algunas excepciones desagradables e inalcanzables (es decir, excepciones de Msgbox). Multiplataforma (soporta Mono) sería mejor.

Author: Jav_Rock, 2008-09-17

8 answers

Comencé con opencvdotnet, pero ya no se desarrolla activamente. Además, el soporte para la función que necesitaba (facedetection) era irregular. Estoy usando EmguCV ahora: Envuelve una parte mucho mayor de la API y el tipo detrás de ella es muy sensible a las sugerencias y solicitudes. El código es una alegría de ver y se sabe que funciona en Mono.

He escrito una rápida guía de introducción en mi blog.

 65
Author: friism,
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-10-31 17:48:51

Utilizamos OpenCVSharp el sitio web de Google code está en japonés, pero utiliza las últimas compilaciones e implementaciones de OpenCV identificables en todo. Parece proporcionar más funcionalidad que cualquiera de los otros que hemos visto hasta la fecha y todavía está activo. También tiene programas de ejemplo bastante extensos.

 21
Author: tidyup,
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-10-20 02:30:31

Creo que es importante tener en cuenta que la pregunta original se hizo en 2008, y OpenCV 2.0 fue lanzado en 2009. La versión 2.0 introdujo un envoltorio de C++ que es significativamente más fácil de trabajar que la antigua interfaz de C con la que se enfrentó el OP. Para mi proyecto. NET, estoy dejando toda la manipulación gráfica en C++nativo.

Prueba esto: crea un proyecto DLL C++/CLR que enlace a las bibliotecas OpenCV. El manual de OpenCV describe cómo hacer esto para un EXE de Windows C++, los mismos pasos también funcionan para una DLL de C++/CLR. Luego, por supuesto, el DLL exporta métodos que se pueden llamar desde un. NET EXE.

Para probarlo, debería poder incorporar cualquiera de las muestras de OpenCV en su DLL con un pequeño ajuste. (Añadir el .CPP a tu proyecto, convierte la función main () a un miembro de clase, etc. - ya conoces el procedimiento...) Un buen candidato de prueba podría ser la muestra" mat_mask_operations".

 17
Author: Paul Williams,
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
2012-11-25 18:48:43

OpenCV.NET está disponible en NuGet

Https://bitbucket.org/horizongir/opencv.net

Https://www.nuget.org/packages/OpenCV.Net

Aquí hay una lista de características del sitio del proyecto:

OpenCV.NET es una interfaz. NET para la popular visión e imagen por ordenador OpenCV biblioteca de procesamiento. Estas fijaciones fueron desarrolladas en el transcurso de un año e incluyen muchas características que han sido falta de otros intentos, a saber:

  • Compatibilidad Mono multiplataforma (solo se usa P/Invoke)
  • Muy cerca del 100% de soporte de la última API de C (incluyendo funciones indocumentadas)
  • Documentación completa/intellisense para todos los métodos, clases y miembros de enumeración soportados (arduamente extraídos de muchas fuentes diferentes)
  • Soporte para excepciones
  • Amigable con el recolector de basura:
    • GC es consciente de la memoria real utilizada por matrices e imágenes
    • Los punteros son garantizado para sobrevivir llamadas de función incluso si ocurre la recolección de basura concurrente
  • Modelo de objetos siguiendo la API de C++ tanto como sea posible (hacia un futuro mayor soporte de la API de C++)
  • Licencia de estilo BSD (MIT)
 10
Author: VoteCoffee,
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
2016-03-31 16:12:36

He creado un paquete NuGet para facilitar el inicio con OpenCV en C#, usando EmguCV.

¡Échale un vistazo! En Visual Studio buscar y añadir el myEmguCV.Net Paquete NuGet.

Https://www.nuget.org/packages/myEmguCV.Net

 2
Author: Tony,
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-09-20 12:58:52

Creo que el mejor envoltorio es opencvsharp http://code.google.com/p/opencvsharp /

 1
Author: mrgloom,
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-24 05:35:35

SharperCV fue nuestra herramienta de elección, y no nos decepciona, para nuestro proyecto de robótica . A pesar de que actualmente está marcado como abandonado, el código está en muy buena forma, requiere solo pequeños ajustes para personalizarlo para su necesidad. No hay msgboxes, y en realidad un manejo de excepciones muy cuerdo.

No multiplataforma, sin embargo, debido a la capa de interoperabilidad.

 0
Author: Silver Dragon,
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 10:56:35

Sé que esta pregunta ha sido respondida durante mucho tiempo, pero me gustaría añadir que hay una muy buena envoltura aquí. Esta es la nueva versión del wrapper de OpenCV que probaste en code project. Lo he probado durante un par de días y todo funciona perfecto. Además, lo tengo funcionando en minutos.

No lo sé por la compatibilidad con mono pero bajo Visual Studio 2010, funciona como un encanto y me ahorró mucho tiempo y dinero (mi proyecto es comercial y la mayoría de la biblioteca son de código abierto con licencia que no permite la utilización comercial a menos que se publique el código)

 0
Author: Jean-François Côté,
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
2012-10-02 17:15:02