La dernière version de OpenCV montre 2.4.11 février 2015 qui est plus récente que .0. qui est en version bêta. Quelle est la différence entre eux. Dois-je utiliser OpenCV 2.4.11 sur 3.0.0 car j'ai rencontré quelques bugs dans 3.0.0. Comment fonctionnent leurs versions?
3.0.0 devrait apporter beaucoup de nouvelles fonctionnalités, mais c'est actuellement la version bêta et non la version officielle (peut être instable). La dernière version officielle stable était le 2.4.11.
Utilisez le 3.0.0 s'il y a des fonctionnalités que vous ne récupérez pas dans 2.4.11 ou si vous êtes aventureux (3.0.0beta est génial et la version finale devrait arriver bientôt). Si vous souhaitez une sécurité sans besoins supplémentaires, utilisez 2.4.11.
Bien qu'il existe de nouvelles fonctionnalités (comme la détection de texte, le détecteur KAZE) dans OpenCV 3.0, pour la plupart des développeurs, cette comparaison ne concerne pas les fonctionnalités. Il s'agit de vitesse . Sauf si vous êtes immédiatement en production, je vous suggère d'utiliser OpenCV 3.0. De plus, c'est loin d'être aventureux.
UMat
là où vous utilisiez Mat
. Échantillons ( 1 ). Si vous aviez besoin de ces performances dans OpenCV 2.4. *, Vous deviez invoquer explicitement cv::ocl::*
ou cv::gpu::*
méthodes.À propos du cycle de publication, un rapide coup d'œil sur le repo OpenCV github ( 2 ) montre que les requêtes pull vont principalement dans la branche principale qui est pour OpenCV 3.0. Donc, je suppose, les principales corrections de bugs pourraient être rétroportées vers la branche 2.4. *.
Pour en savoir plus, sur les différences, lisez () et ( 4 ). À propos des bogues que vous avez rencontrés dans la version bêta 3.0, il pourrait être utile, si vous pouviez les augmenter avec un exemple d'exécution complet minimal sur la page des problèmes d'OpenCV ( 5 ).
En plus des réponses fournies ci-dessus, une autre différence importante est que la détection des fonctionnalités SIFT/SURF a été supprimée du package openCV 3.0 par défaut. Depuis qu'ils sont brevetés, openCV a déplacé des algorithmes "non libres" vers un package différent:
opencv_contrib