2011-12-28 3 views
1

Je commence un projet de Vision par Ordinateur, et j'ai besoin de construire une interface entre un "Vision Agent" que je veux développer et des Images et Vidéos qu'il devrait utiliser comme entrée.Bibliothèques de vision par ordinateur

Je travaille en C++ et cette interface doit exposer quelques méthodes pour faibleEntrée/Sortie opérations:

  • charge l'image (en mémoire)
  • charge une piscine de Images (enregistrées dans un répertoire)
  • accéder à un seul pixel dans une image chargée
  • charger une vidéo en tant que groupe d'images (souhaite décider intervalle de temps entre chaque image)
  • charge une seule image d'une vidéo comme une image

Je suis un débutant à l'ordinateur Vision, et ont besoin de trouver une bibliothèque efficace qui me aider à mettre en œuvre cette interface.

En naviguant sur le Web, je trouve quelques-unes des bibliothèques les plus utilisées pour ce genre de projets, tels que:

  • OpenCV
  • VXL
  • IVT

Qu'est-ce que je d aiment savoir est:

Est-ce que quelqu'un d'entre vous a travaillé avec l'un de ces?

Pensez-vous qu'ils sont appropriés pour ma tâche? Si oui, quel est le meilleur à votre avis (plus utilisable et efficace).

Avez-vous d'autres suggestions?

QUESTION AJOUTÉE:

Savez-vous ce genre de licence ces bibliothèques (ou d'autres) celles proposées sont produites sous?

Répondre

7

J'ai travaillé avec OpenCV. Je ne sais pas (ou je me souviens) de l'autre mais OpenCV est tout à fait un premier choix. Il prend en charge toutes les fonctionnalités que vous avez mentionnées. Ce sont des besoins plutôt basiques. Gardez à l'esprit qu'OpenCV est plutôt une librairie de bas niveau.

Vous travaillerez également sur les matrices d'images et certaines fonctions mathématiques ou statistiques communes. Cela peut être difficile au début. Je vous suggère de lire (ou de simplement parcourir) «Learning OpenCV» d'O'Reilly, en particulier pour utiliser des fonctionnalités plus avancées.

EDIT: OpenCV sera efficace à coup sûr. Son traitement image par image image serait un avantage pour vos besoins. Il est publié sur licence BSD.

1

Je suggère également OpenCV pour votre tâche. Vous pouvez également consulter this older question pour d'autres possibilités et opinions.

Questions connexes