2010-10-17 18 views
13

Je suis sur le point de démarrer un projet de traitement visuel d'image et n'ai aucune expérience avec Matlab, Aforge, OpenCV et je me demandais si quelqu'un avait des expériences avec ces différents logiciels.Matlab vs Aforge vs OpenCV

Je me demandais aussi lequel des trois paquets était le plus efficace, je suppose que OpenCV mais quelqu'un a-t-il eu de l'expérience?

Merci

Jamie.

Répondre

13

La question que vous devez vous poser est la plus importante: votre temps ou celui de l'ordinateur. Si votre tâche est vraiment simple, vous pouvez la coder dans MATLAB et la faire fonctionner dès le départ. MATLAB est de loin le plus facile à développer - un langage script avec gestion de la mémoire intégrée, une vaste gamme de fonctions fournies, et une excellente interface pour l'affichage et la manipulation des données pendant le débogage. D'autre part, MATLAB est au moins un ordre de grandeur plus lent que le code openCV compilé pour de nombreuses tâches. Cela est particulièrement vrai si vous utilisez les bibliothèques de primitives de performance Intel. Si vous savez coder dans MATLAB, je vous suggère d'écrire et de déboguer vos algorithmes dans cette langue, puis de les transférer vers c/C++ avec openCV pour plus de rapidité. S'il n'y a que quelques fonctions simples que vous devez accélérer, vous pouvez appeler le code c de MATLAB, mais il est difficile de le faire fonctionner correctement les premières fois que vous l'essayez, donc vous feriez probablement mieux de simplement réécrire votre code terminé entièrement en c/C++

+0

Hey Marc Je suis complètement nouveau à la fois openCV et matlab et le traitement de l'image dans son ensemble. Je dois faire quelque chose sur le suivi du globe oculaire en utilisant la webcam. Que recommandez-vous? Il n'y a pas assez de documentation pour openCV? – Sohaib

2

D'abord, veuillez élaborer sur les besoins de votre projet. Il a le plus grand impact sur le choix, en plus d'autres facteurs - vos connaissances générales de programmation (Si vous n'avez pas traité avec le net mais juste avec C++, AForge n'est pas un bon choix, par exemple).

En général,

Les deux Aforge et OpenCV dispose d'une interface intégrée pour .Net et OpenCV aussi avec C++, python, et plus encore. Matlab peut être plus efficace, mais si vous n'en avez aucune expérience, vous devriez aussi apprendre sa syntaxe. Prenez-le en considération. Matlab a probablement la plus grande variété de fonctions, mais il est plus compliqué que les autres projets. OpenCV et AForge eux-mêmes ont quelques différences - voyez-les décrites dans ce StackOverflow question/ answers.

+0

Le projet consiste à monter une caméra sur l'avant d'un bateau en descendant un canal et la détection d'autres bateaux et objets. De toute évidence, le premier problème concerne l'eau de traitement visuel. – Jamie

2

J'ai travaillé l'année dernière dans deux projets similaires avec des voitures sur l'autoroute. Afaik, Matlab permet de traiter un seul cadre d'image à la fois (vous pouvez sûrement élaborer un algorithme pour calculer un flux) mais en utilisant Simulink vous pouvez traiter le flux directement. D'autre part, j'ai trouvé AForge beaucoup plus convivial et plus facile à utiliser car vous pouvez facilement ajuster les paramètres de traitement à partir d'une interface graphique (pas si rapide/facile) à faire dans Matlab/simulink.

J'adorerais Aforge.Net. C'est aussi assez rapide si vous vous inquiétez de la vitesse de traitement. (en utilisant 640x480)

2

Si vous demandez à propos de l'utilisation de l'un de ceux-ci.net, facilement vous pouvez obtenir des informations par ceci:

1-matlab principalement utilisé dans la simulation de projets pas le projet End-prototype; mon numéro: 30; 2-aforge (comme je l'ai utilisé dans de nombreux projets) si vous n'avez pas besoin du processus circulaire comme la capture d'image, ou la reconnaissance de quelque chose dans les images ou ... vous le trouverez très bien, car il est facile à utiliser mais utile pour des processus uniques; mon numéro: 50

3-opencv très bon à la vitesse et utile pour les processus circulaires, par exemple vous pouvez capturer des images à partir d'une webcam et instantanément caricaturiser sans délai, mais pas facile à utiliser comme ci-dessus. Je l'aime quand même de sa vitesse et de ses nombreuses fonctions cela nous donne surtout tout ce dont nous avons besoin en programmation; mon numéro: 80

Dr.Taha - Tahasoft.net