2010-10-17 31 views
13

Estoy a punto de comenzar un proyecto de procesamiento visual de imágenes y no tengo experiencia con Matlab, Aforge, OpenCV y me preguntaba si alguien tenía alguna experiencia con estos diferentes paquetes de software.Matlab vs Aforge vs OpenCV

También me preguntaba cuál de los tres paquetes era más eficiente, supongo que OpenCV pero ¿alguien ha tenido alguna experiencia?

Gracias

Jamie.

Respuesta

13

La pregunta que debe hacerse es cuál es más importante: su tiempo o la hora de la computadora. Si su tarea es realmente simple, puede codificarla en MATLAB y hacer que funcione desde el principio. MATLAB es de lejos el más fácil para el desarrollo: un lenguaje con guiones con gestión de memoria integrada, una gran variedad de funciones proporcionadas y una excelente interfaz para mostrar y manipular 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 usa las bibliotecas de primitivas de rendimiento de inteligencia.

Si sabe cómo codificar en MATLAB, le sugiero que escriba y depure sus algoritmos en ese idioma, y ​​luego los transfiera a c/C++ con openCV para la velocidad. Si solo necesitas un par de funciones simples para acelerar, puedes llamar al código c de MATLAB, pero es difícil hacer que funcione correctamente las primeras veces que lo pruebes, por lo que es mejor que solo reescribas tu código. código terminado completamente en c/C++

+0

Hey Marc Soy completamente nuevo en openCV y en matlab y en el procesamiento de imágenes en general. Necesito hacer algo en el seguimiento del globo ocular con la cámara web. ¿Que recomiendas? ¿No hay suficiente documentación para openCV? – Sohaib

2

En primer lugar, explique 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 ha tratado con dot net pero solo con C++, AForge no es una buena opción, 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 no tienes ninguna experiencia con él, también debes aprender su sintaxis. Tómelo en consideración.

Matlab probablemente tenga la mayor variedad de funciones, pero es más complicado que los otros proyectos. OpenCV y AForge tienen algunas diferencias: véanlas en este StackOverflow question/ answers.

+0

El proyecto consiste en el montaje de una cámara en la parte delantera de un barco que viaja abajo de un canal y la detección de otros barcos y objetos. Obviamente, el primer problema es lidiar con el procesamiento visual del agua. – Jamie

2

Trabajé el año pasado en dos proyectos similares con automóviles en la carretera. Afaik, Matlab permite procesar solo un cuadro a la vez (seguramente podrías elaborar un algoritmo para calcular un flujo) pero al usar Simulink puedes procesar el flujo directamente.

Por otro lado, encontré AForge mucho más amigable y fácil de usar ya que puede ajustar fácilmente los parámetros de procesamiento desde una GUI (no tan rápido/fácil) para hacer en Matlab/simulink.

Iré por Aforge.Net. También es lo suficientemente rápido si te preocupa la velocidad de procesamiento. (usando 640x480)

2

Si está preguntando sobre el uso de uno de estos en.neto, fácilmente puede obtener información por este:

1-matlab se utiliza principalmente en la simulación de proyectos, no en el proyecto de prototipo final; mi número: 30;

2-forforge (como he usado en muchos proyectos) si no necesita el proceso circular como captura de imagen, o reconocimiento de algo en imágenes o ... lo encontrará muy bien, porque es fácil de usar pero útil para procesos individuales; mi número: 50

3-opencv muy bueno en velocidad y útil para procesos circulares, por ejemplo, puede capturar imágenes desde una cámara web y caricatizar al instante sin demora, pero no es fácil de usar como una forja. Me gusta de todos modos, debido a su velocidad y a MUCHAS funciones, nos brinda principalmente todo lo que necesitamos en programación; mi número: 80

Dr.Taha - Tahasoft.net