2010-03-12 9 views
1

Je fais du prototypage avec OpenCV pour un projet de loisir impliquant le traitement de données de caméra en temps réel. Je me demande si cela vaut la peine de réimplémenter cela en C ou en C++ quand tout est compris ou si on ne peut pas s'attendre à une amélioration significative des performances. Le programme enchaîne essentiellement les fonctions OpenCV, de sorte que la partie principale du travail devrait être faite en code natif de toute façon.Performances OpenCV dans différentes langues

+0

Cela dépend vraiment de la quantité de traitement que vous pouvez transférer à OpenCV, mais en principe, vous devriez être d'accord si vous ne touchez pas les pixels individuellement (ou toute autre fonctionnalité vraiment petite). –

Répondre

5

Vous avez assez bien répondu à votre propre question. La plupart des calculs coûteux devraient être dans la bibliothèque OpenCV, et donc indépendants du langage que vous utilisez.

Si vous êtes vraiment préoccupé par l'efficacité, vous pouvez profiler votre code et confirmer que c'est effectivement le cas. Si besoin est, vos fonctions de traitement personnalisées, le cas échéant, pourraient être codées en C/C++ et exposées en python par la méthode de votre choix (par exemple: boost-python), pour suivre la même approche. Mais dans mon expérience, python fonctionne très bien comme un outil de "composition" pour une telle utilisation. OpenCV utilisé pour utiliser IPP, qui est très rapide.

0

Cependant, OpenCV 2.0 ne le fait pas. Vous pouvez personnaliser votre OpenCV en utilisant IPP, par exemple des routines de conversion de couleurs.

+1

IPP n'est pas gratuit et OpenCV 2.0 inclut le support IPP. – Jacob

Questions connexes