Pregunta

Estoy a punto de iniciar un proyecto en el procesamiento de imágenes visuales y no han tenido experiencia con Matlab, Aforge, OpenCV y me preguntaba si alguien tenía alguna experiencia con estos diferentes paquetes de software.

También me preguntaba cuál de los tres paquetes fueron más eficientes que asumir OpenCV pero ¿alguien ha tenido alguna experiencia?

Gracias

Jamie.

¿Fue útil?

Solución

La pregunta que hay que preguntarse es lo que es más importante - el tiempo o la hora del equipo. Si su tarea es muy simple, que puede ser capaz de código de arriba en MATLAB y hacer que funcione la derecha del palo. MATLAB es, con mucho, el más fácil para el desarrollo - un lenguaje de secuencias de comandos con una función de gestión de memoria, una enorme variedad de funciones proporcionadas, y una excelente interfaz para la visualización y manipulación de datos durante la depuración.

Por otro lado, MATLAB es al menos un orden de magnitud más lento que el código compilado OPENCV para muchas tareas. Esto es especialmente cierto si se utiliza las bibliotecas primitivas rendimiento de Intel.

Si conoce la forma de código en MATLAB, sugeriría escribir y depurar sus algoritmos en ese idioma, y ??luego portarlos a C / C ++ con OpenCV para la velocidad. Si sólo hay un par de funciones simples que usted necesita para acelerar, puede llamar c código de MATLAB, pero es difícil de conseguir este funcionamiento correcto de las primeras veces que lo intente, por lo que es probablemente mejor de simplemente volver a escribir código terminado completamente en C / C ++

Otros consejos

En primer lugar, por favor elaborar sobre las necesidades de su proyecto. Tiene el mayor impacto en la elección, además de otros factores -. Su conocimiento general de programación (Si no se ha ocupado de la red del punto, pero sólo con C ++, AForge no es una opción buena, por ejemplo)

Generalmente,

Tanto AForge y OpenCV tiene una interfaz integrada a .NET, y OpenCV también con C ++, Python, y más. Matlab podría ser más eficiente, pero si usted no tiene ninguna experiencia con ella - También debe aprender su sintaxis. Tomarla en consideración.

Matlab probablemente tiene la mayor variedad de funciones, pero es más complicado que los otros proyectos. OpenCV y AForge mismos tienen algunas diferencias - ver los describieron en cuestión href="https://stackoverflow.com/questions/749241/differences-between-aforge-and-opencv"> este stackoverflow .

Me trabajó el año pasado en dos proyectos similares con los coches en la carretera. Que yo sepa, Matlab permite procesar sólo un marco de imagen a la vez (seguramente se podría elaborar un algoritmo para calcular una corriente) pero utilizando Simulink se puede procesar directamente la corriente.

Por otro lado, he encontrado AForge un montón más amigable y fácil de utilizar ya que se puede ajustar fácilmente los parámetros de procesamiento de una interfaz gráfica de usuario (no tan rápido / fácil) que hacer en Matlab / Simulink.

Me gustaría ir a Aforge.Net. También es lo suficientemente rápido si estás preocuparse por la velocidad de procesamiento. (Usando 640x480)

Si se está preguntando sobre el uso de uno de estos en .net, fácilmente se puede obtener información por lo siguiente:

1-MATLAB utiliza sobre todo en la simulación de proyectos no es el proyecto de fin de prototipo; mi numer: 30;

2-aforge (como Me'v utiliza en muchos proyectos) si no es necesario el proceso circular como la captura de la imagen, o el reconocimiento de algo en imágenes o ... lo encontrará muy buena, porque es fácil para uso pero útil para procesos individuales; mi número: 50

3-OpenCV muy bueno en velocidad y útil para los procesos circulares, por ejemplo, puede capturar imágenes desde una cámara web y al instante Cartoonize sin ninguna demora, pero no es fácil de usar como aforge. Me gusta de todos modos causa de su velocidad y muchas funciones que nos da sobre todo cualquier cosa que necesitamos en la programación; mi número: 80

Dr.Taha - Tahasoft.net

scroll top