Estoy intentando y no hacer que opencv_traincascade
use varios hilos. La única documentación que puedo encontrar dice "construir OpenCV con TBB". No estoy seguro de si estoy logrando crear OpenCV correctamente con TBB, o si hay alguna bandera que deba establecer para opencv_traincascade
.¿Cómo construyo OpenCV con TBB?
He descargado el superpaquete de Windows OpenCV versión 2.3.1 y tbb40_20111003oss_win.zip
, que extraje en C:\tbb40_20111003oss
. entonces me genera VC8 .sln
y .proj
archivos usando CMake, el establecimiento de
WITH_TBB: ON
TBB_INCLUDE_DIR:PATH=C:\tbb40_20111003oss\include
TBB_LIB_DIR:PATH=C:/tbb40_20111003oss/lib/intel64/vc8
OpenCV entonces construye sin errores, pero cuando corro opencv_traincascade
Es singlethreaded. ¿Alguien sabe lo que estoy haciendo mal?
¿Dónde fijo esto?¿Debo ejecutar algo para instalar TBB? Todo lo que hice fue extraer el archivo .zip. – theotherphil
llama la función en tu código ... si tienes tu propio proyecto. Pero ... hmm, ¿agregaste el TBB en el sistema PATH? si no, hágalo, cierre sesión e inicie sesión nuevamente y pruébelo. – Sam
Los archivos .vcproj generados por CMake enumeran los directorios TBB como directorios de inclusión adicionales. He agregado TBB a la ruta del sistema y reconstruido, pero sin suerte. La documentación aquí http://opencv.itseez.com/trunk/doc/user_guide/ug_traincascade.html establece que "Note que la aplicación opencv_traincascade está paralelizada a TBB. Para usarla en modo multinúcleo, OpenCV debe construirse con TBB". No menciona una bandera multinúcleo como entrada, por lo que parece sugerir que opencv_traincascade debería ejecutarse automáticamente en subprocesos múltiples. Pero no es así – theotherphil