OpenCV 3.0に果敢に挑戦し続けてみる

個人的な趣味の一環として、OpenCV 3.0がらみの情報をまとめてみる。「引用はいぃんよー、無断転載はあかんよー」ということで。

OpenCVでTBBを有効にする(Linuxだけどね、ついでにOpenMPも)

OpenCVでTBBを有効にする(Linuxだけどね、ついでにOpenMPも)

OpenCV on linux でTBBによる並列化を有効にするための条件は、以下の2点。

  1. libtbb-dev をインストールする
  2. cmake 実行時に -D WITH_TBB = ONとする or cmake-gui でWITH_TBBをONにする

$ mkdir build 

$ cd build

$ sudo apt-get install libtbb-dev

$ sudo ldconfig 

$ cmake -D WITH_TBB=ON ../

$ make -j 8  

※BUILD_TBB=ONにするとダウンロードとかもしてくれるっぽい。

 

$ ldd lib/libopencv_core.so

linux-gate.so.1 =>  (0xb772b000)

libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb74c7000)

libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb74ac000)

librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb74a2000)

libtbb.so.2 => /usr/lib/libtbb.so.2 (0xb7474000)

libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb738b000)

libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7348000)

libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb732b000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7176000)

/lib/ld-linux.so.2 (0xb772c000) 

こんな感じで、TBBへの依存関係ができてれば多分オッケー。

 

TBBが使えない環境の場合には、OpenMPという選択肢もあり。

$ mkdir build 

$ cd build

$ cmake -D WITH_OPENMP=ON ../

$ make -j 8