Skip to content

OpenCV 3.2でWITH_TBBをONにする

atinfinity edited this page May 5, 2017 · 20 revisions

OpenCV 3.2でWITH_TBBをONにする

はじめに

OpenCV 3.1まではWindow環境でCMakeを使ってOpenCVをビルドする際に

  • WITH_TBBをONにする
  • 変数TBB_INCLUDE_DIRにTBBのインクルードパスを設定する

ことでTBB実装が有効になっていました・・・が,Updated TBB search #7757の変更の影響でOpenCV 3.2ではこの方法でTBBを検出できなくなってしまいました.

ここではWindow環境かつOpenCV 3.2でWITH_TBBをONにする方法を紹介します.

手順

TBBの入手

リリースページからWindows向けのライブラリを入手します.
以降はtbb2017_20170226oss_win.zipをダウンロードしたものとして説明を行います.

ライブラリの配置

zipファイルを展開して適当な場所に置きます.
以降はC:\dev以下に置いたものとして説明を行います.

変数の設定(CMake)

OpenCV 3.2から以下の変数をもとにシステム内からTBBを検出するようになりました.

変数 意味
TBB_ENV_INCLUDE TBBのインクルードパス
TBB_ENV_LIB TBBのライブラリ(release)
TBB_ENV_LIB_DEBUG TBBのライブラリ(debug)

CMakeでの変数設定例は以下の通りです.

変数 設定例
TBB_ENV_INCLUDE C:/dev/tbb2017_20170226oss/include
TBB_ENV_LIB C:/dev/tbb2017_20170226oss/lib/intel64/vc14/tbb.lib
TBB_ENV_LIB_DEBUG C:/dev/tbb2017_20170226oss/lib/intel64/vc14/tbb_debug.lib

この指定を行い,WITH_TBBをONにしてCMakeを実行し,OpenCVをビルドします.
※ここではVS2015用(vc14)かつ64bit(intel64)のライブラリを参照しています.必要に応じて変更ください.

また,バッチファイルで実行する場合はこちらをご参考ください.

TBB検出方法変更の背景

Updated TBB search #7757の変更内容を見るとわかりますが,以前はプラットフォームやTBBのバージョン毎にチェック処理が入っており複雑になっていました.
このPRは専用の変数を導入することでTBB検出処理の共通化(プラットフォーム,TBBバージョン)を図りメンテナンス作業を軽減することを目的としているものと推測されます.

おわりに

ここではWindow環境かつOpenCV 3.2でWITH_TBBをONにする方法を紹介しました.

備考

筆者は以下の環境で動作確認しました.

  • OpenCV 3.2.0
  • Windows 10 Pro(64bit)
  • Visual Studio 2015 Professional

Menu

Computer Vision

GPGPU

AR

ROS

Docker

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally