J'essaie et ne parvient pas à faire opencv_traincascade
utiliser plusieurs threads. La seule documentation que je peux trouver dit de "construire OpenCV avec TBB". Je ne suis pas sûr si je ne parviens pas à construire avec succès OpenCV avec TBB, ou s'il y a un drapeau que je dois définir pour opencv_traincascade
.Comment construire OpenCV avec TBB?
J'ai téléchargé le superpack Windows OpenCV version 2.3.1 et le tbb40_20111003oss_win.zip
, que j'ai extrait à C:\tbb40_20111003oss
. Je me suis alors généré VC8 .sln
et .proj
fichiers en utilisant CMake, la mise en
WITH_TBB: ON
TBB_INCLUDE_DIR:PATH=C:\tbb40_20111003oss\include
TBB_LIB_DIR:PATH=C:/tbb40_20111003oss/lib/intel64/vc8
OpenCV construit alors sans erreur, mais quand je lance opencv_traincascade
il est singlethreaded. Est-ce que quelqu'un sait ce que je fais mal? Essayez setNumThreads(), avec le nombre de cœurs de processeur en tant que paramètres.
Où puis-je mis cela?Dois-je exécuter quelque chose pour installer TBB? Tout ce que j'ai fait est d'extraire le fichier .zip. – theotherphil
appelez la fonction dans votre code ... si vous avez votre propre projet. Mais .. hmm, avez-vous ajouté le TBB dans le système PATH? Sinon, faites-le, déconnectez-vous, reconnectez-vous et essayez-le. – Sam
Les fichiers .vcproj générés par CMake listent les répertoires TBB en tant que répertoires d'inclusion supplémentaires. J'ai ajouté TBB au chemin du système et j'ai reconstruit, mais sans chance. La documentation ici http://opencv.itseez.com/trunk/doc/user_guide/ug_traincascade.html indique que "L'application Note opencv_traincascade est parallélisée TBB Pour l'utiliser en mode multicore, OpenCV doit être construit avec TBB." Il ne mentionne pas d'indicateur multicœur comme entrée, il semble donc suggérer que opencv_traincascade devrait automatiquement fonctionner en multithread. Mais ce n'est pas le cas. – theotherphil