Pregunta

Estoy aprendiendo acerca de la visión por ordenador y C #. Parece que dos bibliotecas de procesamiento de imágenes son prominentes 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 que la investigación que he encontrado artículos en ambos. Pero no se sabe muy bien por qué me gustaría elegir uno sobre el otro. Me gustaría mejorar con el tiempo la aplicación para incluir funciones más avanzadas.

Gracias.

¿Fue útil?

Solución

Estoy usando OpenCV para un proyecto en la escuela en este momento, y me levantase la documentación para AForge y su función parece ser diferente. AForge tiene un montón de filtros y probablemente es excelente para diferentes transformaciones y manipulación de imágenes. Pero parece que falta un poco en otras áreas. No pude encontrar ninguna operación de matriz que fue una decepción ya que es muy útil en la visión por ordenador. Nuestro proyecto actual (nube de puntos 3D reconstrucción de una secuencia de imágenes) sería, por lo que pude ver desde la documentación, será imposible que ver con AForge solo.

Combinar AForge con una buena biblioteca de álgebra lineal y es posible que tenga algo realmente útil sin embargo.

En cuanto a OpenCV tiene un amplio conjunto de funciones, pero es un poco difícil de programar con.

Otros consejos

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

Estoy usando (literalmente en C # ... lol) EMGUCV.NET (que es un OpenCV C # envoltorio) 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 facilitar las funcionalidades de visualización.

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

Es por eso que utiliza .NET: basta con llevar todos los componentes que necesita juntas en una sola aplicación:)

Si desea mejorar su aplicación con más y más avanzadas funciones como usted ha dicho, me gustaría ir a OpenCV- sin embargo, una parte de su éxito depende del hecho de que el puerto de C # se actualiza de forma activa, que no deben' t ser la mayor parte de problemas teniendo en cuenta los tres puertos. Creo EmguCV parece ser uno de los mejores en este momento en cuanto a la actualización, pero cuando miré en ello, carece de documentación (pero que probablemente se podría traducir en código C ++ C # con un poco de conocimientos 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 se pueden utilizar, que incluyen detección de rostros.

Así que para la última toma: tanto le conviene así, OpenCV es el más utilizado / compatible (aunque la mayor base de usuarios es C ++), AForge es más fácil. Todo se reduce a lo que usted quiere hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top