采用opencv自带的adaboost训练器opencv_traincascade.exe进行样本训练时,训练时间较长,对于计算速度要求的提升,opencv提供多线程方案。但是要应用opencv的多线程,编译opencv时需要选择with TBB。
1. 关于opencv+QT+mingw的编译,网络上有很多,请自行搜索。
2. 但是采用方案一的过程中,如果选择WITH_TBB,需要配套的TBB支持。
对于第二点的实现,发费了比较长的时间,在这里记录以备以后查看。
1. mingw编译TBB
下载TBB的源码,https://www.threadingbuildingblocks.org/download
下载Source自行用mingw编译
2. 由于我电脑上已经按照了带有mingw的QT,因而没有重新按照mingw,没有的需要按照mingw,并在Path中添加
3. 下面将下载的tbb44_20151115oss_src.tgz解压,并找到解压文件夹中的src文件夹D:\Qt\tbb44_20151115oss\src,运行命令行窗口
4. 下面对src内的makefile进行编译,输入命令
mingw32-make compiler=gcc arch=ia32 runtime=mingw
5. 编译到最后,是一堆的测试,有些要耗费很长时间,直接close
至此,TBB的mingw版本就生成了,将windows_ia32_gcc_mingw4.9.2_release所在目录添加到path中
下面就是进行opencv WITH_TBB的编译工作了,
其他过程比较常规,需要注意一点的时,TBB_LIB_DIR的选择时windows_ia32_gcc_mingw4.9.2_release所在文件夹目录
ok,本文只是针对个人所遇到问题的关键点记录。