c# image-processing opencv aforge

c# - Diferencias entre AForge y OpenCV



image-processing (3)

Bueno, ¿por qué no usar ambos;) ??

Estoy usando (literalmente en C # ... jaja) EMGUCV.NET (que es un contenedor de OpenCV C #) y AFORGE.NET al mismo tiempo:

AFORGE.NET más su "Laboratorio de procesamiento de imágenes" tiene mucho sentido para las opciones de filtrado (detección de bordes, umbrales, etc.) y para facilitar la visualización de las funcionalidades.

OpenCV proporciona todo el resto como SIFT / SURF y otras rutinas de procesamiento de imágenes más sofisticadas.

Es por eso que utilizas .NET: simplemente reúne todos los componentes que necesitas en una sola aplicación :)

Estoy aprendiendo sobre la visión por computadora y C #. Parece que dos bibliotecas de procesamiento de imágenes prominentes son OpenCV y AForge . ¿Cuáles son algunas de las diferencias de los dos?

Estoy haciendo un editor de imágenes básico en C # y mientras investigaba encontré artículos sobre ambos. Pero realmente no sé por qué elegiría uno sobre el otro. Me gustaría mejorar la aplicación para incluir funciones más avanzadas.

Gracias.


Estoy usando OpenCV para un proyecto en la escuela en este momento, y busqué la documentación de AForge y sus características parecen diferir. AForge tiene muchos filtros y es probablemente excelente para diferentes transformaciones y manipulación de imágenes. Pero parece carecer un poco en otras áreas. No pude encontrar ninguna operación de la matriz que fue una decepción, ya que es muy útil en la visión por computadora. Nuestro proyecto actual (reconstrucción de nubes de puntos tridimensionales a partir de una secuencia de imágenes) sería, por lo que pude ver en los documentos, algo imposible de hacer solo con AForge.

Combina AForge con una buena biblioteca de álgebra lineal y es posible que tengas algo realmente útil.

En cuanto a OpenCV, tiene un gran conjunto de características, pero es un poco complicado de programar.


Si desea mejorar su aplicación con funciones cada vez más avanzadas como las que dijo, optaría por OpenCV; sin embargo, una parte de su éxito depende del hecho de que el puerto C # se actualice activamente, lo que no debería ser demasiado de problemas teniendo en cuenta los tres puertos. Creo que EmguCV parece ser uno de los mejores en este momento en términos de actualización, pero cuando lo miré, carece de documentación (pero probablemente puedas traducir el código de C ++ a C # con algún conocimiento de C ++). AForge parece mucho más fácil para mí y eso es lo que estoy usando en este momento. OpenCV también tiene soporte para archivos haarcascade.xml que puede usar que incluyen detección de rostros.

Por lo tanto, para la toma final: los dos le irán bien, OpenCV es más utilizado / compatible (aunque la mayoría de los usuarios usan C ++), AForge es más fácil. Todo se reduce a lo que quieres hacer.