Question

Je suis en train d'apprendre sur la vision informatique et C #. Il semble que deux bibliothèques de traitement d'image de premier plan sont OpenCV et Aforge . Quelles sont quelques-unes des différences entre les deux?

Je fais un éditeur d'image de base en C # et en faisant des recherches, je suis venu à travers des articles sur les deux. Mais je ne sais pas vraiment pourquoi je choisirais un sur l'autre. Je voudrais améliorer éventuellement l'application pour inclure des fonctions plus avancées.

Merci.

Était-ce utile?

La solution

J'utilise OpenCV pour un projet à l'école en ce moment, et je parcouru la documentation Aforge et leur fonction semble différer. Aforge a beaucoup de filtres et est probablement excellente pour les différentes transformations et manipulation d'images. Mais il semble manquer un peu dans d'autres domaines. Je ne pouvais pas trouver toutes les opérations de la matrice qui était une déception car il est si utile dans la vision par ordinateur. Notre projet en cours (reconstruction de nuage de points 3D à partir d'une séquence d'images) serait, pour autant que je pouvais voir des documents, impossible de le faire avec Aforge seul.

Combiner Aforge avec une bonne bibliothèque d'algèbre linéaire et vous pourriez avoir quelque chose de vraiment utile si.

En ce qui concerne OpenCV il a un riche ensemble de fonctionnalités, mais est un peu difficile à programmer avec.

Autres conseils

Eh bien, pourquoi ne pas utiliser les deux;) ??

J'utilise (littéralement en C # ... lol) EMGUCV.NET (qui est une enveloppe OpenCV C #) et AFORGE.NET en même temps:

AFORGE.NET plus son « Image Processing Lab » a beaucoup de sens pour les options de filtrage (détection de bord, seuils, et ainsi de suite) et l'assouplissement des fonctionnalités de visualisation.

OpenCV fournit tout le reste comme SIFT / SURF et d'autres routines de traitement d'images plus sophistiquées.

C'est pourquoi vous utilisez .NET: simplement apporter tous les éléments dont vous avez besoin ainsi que dans une seule application:)

Si vous souhaitez améliorer votre application avec de plus en plus de fonctions avancées comme vous dites, je vais pour OpenCV- cependant, une partie de votre succès dépend du fait que le port C # est activement mis à jour, qui shouldn » t être beaucoup de mal à considérer les trois ports. Je pense que EmguCV semble être l'un des meilleurs en ce moment en termes de mise à jour, mais quand je regardais à elle, manque de documentation (mais vous pouvez probablement traduire le code C ++ en C # avec des connaissances en C ++). Aforge semble beaucoup plus facile pour moi et c'est ce que j'utilise en ce moment. OpenCV supporte également les fichiers haarcascade.xml vous pouvez utiliser qui incluent la détection des visages.

Donc, pour la prise finale: les deux qui vous conviendront bien, OpenCV est plus largement utilisé / pris en charge (même si la plupart base d'utilisateurs est C ++), Aforge est plus facile. Tout se résume à ce que vous voulez faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top