2015年12月28日月曜日

Raspberry Pi 2 で OpenCV 3.1.0 + contrib 3.1.0 をビルドした

2.4.11に関してはここ


最初にraspberry piを更新しておく

sudo rpi-update
sudo apt-get update
sudo apt-get upgrade

ホストPCでOpenCV 3.1.0 と contrib 3.1.0 のソースをダウンロードし、展開して外付けHDDにコピー

USB HDDをRaspberry Pi 2に接続し、3.1.0 のフォルダーにbuildpiを作成し、cd buildpi

OpenCVのコンパイルに必要なファイルは、2.4.11のときにインストールしているが、今回はtesseract-ocrのために
sudo apt-get -y install libtesseract-dev libleptonica-dev
を実行

コンフィグレーションを設定

cmake -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_VFPV3=ON -DENABLE_NEON=ON -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.1.0/modules -DBUILD_DOCS=OFF -DBUILD_TESTS=off -DBUILD_PERF_TESTS=OFF -DBUILD_TBB=ON -DBUILD_opencv_apps=OFF -DWITH_OPENCL=off -DWITH_1394=off -DWITH_CUDA=OFF -DWITH_CUFFT=OFF -DWITH_GIGEAPI=OFF -DWITH_OPENCLAMDBLAS=off -DWITH_OPENCLAMDFFT=off -DWITH_TBB=ON ..

time make -j4でビルドを行う

real    60m20.341s
user    203m50.500s
sys    7m10.870s

最後に
tesseract-ocrの英語辞書をダウンロードし、展開して内容をコピー

sudo cp -r tesseract-ocr/* /usr/share/tesseract-ocr/

以上


以下は、コンフィグレーション情報

General configuration for OpenCV 3.1.0 =====================================
  Version control:               unknown

  Platform:
    Host:                        Linux 4.1.15-v7+ armv7l
    CMake:                       2.8.9
    CMake generator:             Unix Makefiles
    CMake build tool:            /usr/bin/make
    Configuration:               RELEASE

  C/C++:
    Built as dynamic libs?:      YES
    C++ Compiler:                /usr/bin/c++  (ver 4.6.3)
    C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
    C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
    C Compiler:                  /usr/bin/gcc
    C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
    C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
    Linker flags (Release):     
    Linker flags (Debug):       
    Precompiled headers:         YES
    Extra dependencies:          dl m pthread rt
    3rdparty dependencies:       tbb

  OpenCV modules:
    To be built:                 core flann imgproc ml photo reg surface_matching video dnn fuzzy imgcodecs shape videoio highgui objdetect plot superres xobjdetect xphoto bgsegm bioinspired dpm face features2d line_descriptor saliency text calib3d ccalib datasets rgbd stereo structured_light tracking videostab xfeatures2d ximgproc aruco optflow stitching python2
    Disabled:                    world contrib_world
    Disabled by dependency:      -
    Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python3 ts viz cvv hdf matlab sfm

  GUI:
    QT:                          NO
    GTK+ 2.x:                    YES (ver 2.24.10)
    GThread :                    YES (ver 2.40.0)
    GtkGlExt:                    NO
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.7)
    JPEG:                        libjpeg (ver 90)
    WEBP:                        build (ver 0.3.1)
    PNG:                         /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.49)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)
    GDAL:                        NO

  Video I/O:
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      NO
      codec:                     NO
      format:                    NO
      util:                      NO
      swscale:                   NO
      resample:                  NO
      gentoo-style:              NO
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    UniCap:                      NO
    UniCap ucil:                 NO
    V4L/V4L2:                    NO/YES
    XIMEA:                       NO
    Xine:                        NO
    gPhoto2:                     NO

  Parallel framework:            TBB (ver 4.3 interface 8002)

  Other third-party libraries:
    Use IPP:                     NO
    Use VA:                      NO
    Use Intel VA-API/OpenCL:     NO
    Use Eigen:                   YES (ver 3.1.0)
    Use Cuda:                    NO
    Use OpenCL:                  NO
    Use custom HAL:              NO

  Python 2:
    Interpreter:                 /usr/bin/python2.7 (ver 2.7.3)
    Libraries:                   /usr/lib/libpython2.7.so (ver 2.7.3)
    numpy:                       /usr/lib/pymodules/python2.7/numpy/core/include (ver 1.6.2)
    packages path:               lib/python2.7/dist-packages

  Python 3:
    Interpreter:                 NO

  Python (for build):            /usr/bin/python2.7

  Java:
    ant:                         NO
    JNI:                         NO
    Java wrappers:               NO
    Java tests:                  NO

  Matlab:                        Matlab not found or implicitly disabled

  Tests and samples:
    Tests:                       NO
    Performance tests:           NO
    C/C++ Examples:              NO

2015年12月24日木曜日

OpenCV Advent Calendar 2015に投稿しました。 その2

2回目の投稿です。

タイトル:文字領域検出用のERFilterの使い方です。

 Qiitaでは、記事投稿が予約できますのであと、数分で公開されるかと思います。

実は投稿に失敗しており、朝気づいてやり直しました。


検出結果のサンプルです。

背景が単純なので、簡単に検出できるかと思いましたが縦エッジに影響されやすい気がします。

2015年12月22日火曜日

Ubuntu 14.04上でOpenCV 3.1.0 + Contrib 3.1をビルドしてみた


数日前にOpenCV 3.0 + Contrib masterの組み合わせをビルドしたところだったが
翌日早速3.1がリリースされたので、リリースされたばかりのOpenCV 3.1.0 + Contrib 3.1をビルドしてみた。

結果的には問題のあったContribのモジュールも無事ビルドが通るようになった。
SIFT,DNN,TEXTは動作を確認。これから、他のモジュールや3.0との差分も随時調べていく

また、3.0では、TBBがリンクされていなかったが、3.1では、TBBが通るようになった。

OpenCV 3.1.0がリリースされたのでWindows版をダウンロードしてみた

22日になり、公式が正式にアナウンスをしました。

せっかくWindows用にソースからビルドしたが、公式からビルド済みのものがリリースされました。

28日追記 
ビルド済みのコードは含まれていませんので、自前でビルドしないといけません
 

早速ダウンロードし、c:\に展開しました。


今回は、32bit向けライブラリがなく、64bitのみになっています。



また、対象の開発環境もVisual Studio 2015と2013だけになり、それ以前のVisual Studioは、自力でソースから cmakeでプロジェクトファイルを作成し、ビルドしないといけません。


23日追記
contribの内容は含まれていませんので試したい場合は、自力でビルドを行う必要があります。
その場合は、Windows10 上でOpenCV3.1.0のソースをビルドしてみた を参考にしてください

以上

2015年12月21日月曜日

Windows10 上でOpenCV3.1.0のソースをビルドしてみた


OpenCV 3.1.0のソースが公開されたので、早速ダウンロードしてみてビルドしてみた。

zipをc:\に展開し、フォルダーの名前を C:\opencv31\sourcesに変更
C:\opencv31\buildを作成し、cmake-guiを起動



Configureのボタンを押し、画面のターゲットを選択する
 Option選択のあと、Generateボタンを押すとbuildの下にVisual Stuidio 2015用のプロジェクトが作成される。

Visual Stuidioを起動し、ソリューションエクスプローラウィンドウのinstallを選択し、マウスの右ボタンでビルドを選択


10数分後にビルドが無事終了(時間は選択したオプションにより変動する)


 Windows用のdll libなどが上記のフォルダーに作成される

コントロールパネルのシステムの環境変数のpathに上記binを追加する



一旦ログアウトし、再度ログインすれば、pathが通っている。

3.1用のpropertyファイルを作成し、サンプルプロジェクトを作成する。

簡単に、Configurationのみ表示させてみた。


 以上

OpenCV 3.1.0がリリースされました

22日になり公式からアナウンスがありました

公式の変更点


昨夜見たときはなかった気がしますが、3.1.0のtagが付与されたものが公開されています


ここからダウンロードできます。

Windows 10の64bit上でビルドを終えました。cmakeがあれば、問題なくビルドできます
あとで公開します。

opencv_contrib を久々にビルドしてみた

現在3.1への過渡期かもしれないが、久々にUbuntu 14.04 64bit上で OpenCV3.0と合わせてビルドしてみた

現在以下のモジュールは不具合がありビルドの途中でエラーとなるのでcmakeでoffにしている

-DBUILD_opencv_apps=OFF
-DBUILD_opencv_tracking=off
-DBUILD_opencv_xfeatures2d=off
-DBUILD_opencv_aruco=off
-DBUILD_opencv_ximgproc=off
-DBUILD_opencv_xphoto=off

あとdnnが動作したらしいのでこちらを試してみた。
importerのバグは治ったようで、実行すると下記のような結果が帰ってくる。無事動作しているようだ。

Attempting to upgrade input file specified using deprecated V1LayerParameter: bvlc_googlenet.caffemodel
Successfully upgraded file specified using deprecated V1LayerParameter

Net Outputs(1):
prob
Best class: #812 'space shuttle'
Probability: 99.9813%

以上

2015年12月20日日曜日

OpenCV 3.1が年内にリリースされる予定です。


どのような内容になるかは、ここにドラフトが公開されています
特に今年のGSoCの内容が多数Contribに取り入れられます。

GSoCのほかにも多数の機能追加や改良がcoreのほうに行われます。

また、VS2015 などの開発環境への対応も期待されます。

ただ、残念なことの高速化のHalモジュールは、単一のクラスにすることをあきらめ
各モジュールに分散させるそうです。

OpenCV GSOC 2015の成果はここに紹介されており、一部はすでに提供されつつあります。

ICFの状況を調べてみた

昨日登校したOpenCV Advent Calendar 2015 19日目の記事はここです

記事に書いてから気になりましたので調べてみました。

12/20時点では、opencv_contribのmasterには存在してませんでした

BranchのTag 3.0.0を見てみると残っています。


ファイルが必要な場合、ここからダウンロードすれば大丈夫でしょう。

使い方は、
学習と検出のサンプルがここにあります

以上

2015年12月18日金曜日

OpenCV Advent Calendar 2015に投稿しました。

タイトル:CascadeClassifierのsetImageとrunAtの使い方

です。内容はかなり偏ったものになっています。

 Qiitaでは、記事投稿が予約できますのであと、数分で公開されるかと思います。

Markdownではじめて書いたので、見づらいかも知れません。
もしかしたら修正するかも知れません。

2015年11月14日土曜日

OpenCV2.4.12.3がリリースされた

いつものことだが、公式でアナウンスされていないが、ひっそりとOpenCV 2.4.12.3がリリースされている

今回もGitHubから取得しないといけない。





前回同様に、bug fixがほとんどと思われる。

Ubuntu 14.04のOpenCV 3.0 Contribの文字認識を動かしてみた

opencv_contribは、今も更新されており、時期によりその内容が変更されることが多数あり、この話は、11/13日のものである。

以前からUbuntuでtesseractのビルドはできているように見えたが、実行時に初期化できなくサンプルを動かすことができなかった。

Windows上では成功している話があったが、Ubuntuでは何度やってもうまく行かなかった。
この問題は、春に解決していが、まとめる気力がなかったので、半年放置していたが、再度ビルドしてみると、若干挙動が異なったので、備忘録としてまとめておく。

事前準備
OpenCVが動く環境でtesseractのツールをインストール

sudo apt-get -y install libtesseract-dev

以前はデータの取得は不要な気がしたが、今回英語用の辞書をダンロードし展開後一式を

sudo cp -r tesseract-ocr/* /usr/share/tesseract-ocr/

でコピーしておく必要がある。

 
問題
cmakeを実行するとtesseractを見つけてくれなかった。いろいろ調べたところ
opencv_contrib-master/modules/textの

FindTesseract.cmake

で、Tesseractライブラリのフラグが設定されていないようであった。

ファイルの中の

set(Tesseract_LIBS ${Tesseract_LIBRARY} ${Lept_LIBRARY})
if(Tesseract_LIBS AND Tesseract_INCLUDE_DIR)
    set(Tesseract_FOUND 1)

でfalseになっていた。

Lept_LIBRARYの正体がわからないので、外してみるとcmakeでtesseractを見つけてくれるようになり、opencvのmake installのあとでサンプルを試してみると無事初期化ができ、認識してくれた。



オリジナル

修正後

下記は動作している図、 (をlに誤認識しているがあとはうまく行っている)







感想
いろいろ試してみたが過度な期待はしないほうが良い

以上

2015年10月1日木曜日

OpenCV2.4.12.2がリリースされた


公式にはアナウンスされていないが、前回と同じくひっそりとOpenCV 2.4.12.2がリリースされている

今回もGitHubから取得しないといけない。

diffは見ていないが、bug fixがほとんどと思われる。

OpenCV 3.0で DNNを試してみた

1月前にOpenCV 3.0のcontribにdnnモジュールが追加された。


当初ubuntu版で試してみたが、importerのところで落ちてしまい原因がわからなかった。
issueでも同じ現象に遭遇している人がいたが、解決していない

twitterに成功したと書き込んでいる人がいたので、仕方なしにWindowsで試してみた

マシン環境
Windows7 64bit OpenCV 3.0 + contrib

開発環境
cmake 3.3.2 win32 x86
Visual studio community 2013

環境構築は、後で説明する。


無事OpenCVがビルドできたので、環境変数にpathを設定し、専用のpropatyシートを作成

サンプルは、
C:\opencv30\opencv_contrib-master\modules\dnn\samples
に一式あるので、内容をそのまま自分のプロジェクトにコピーし、時間計測関数を追加した。

モデルファイルは、容量が50Mを超えるため添付されていなく、自分でここから取得し、サンプルフォルダに置いた。

プロジェクトを実行したところubuntu版と異なり、無事結果を見ることができた。


うちのマシンでは、DNNの計算に180msecかかっている。

最適化を行えば、もう少し早くなるかもしれない。
ただ、このOpenCVは32bit版なので64bitで作成すれば、更なる短縮が見込めるかも知れない

以上

2015年9月2日水曜日

DeepDreamを試してみた

話題になった時期に試した見たが、文章は放置していたので時期遅れとなった。

caffeの動くマシンで

mkdir deepdream
cd deepdream

caffe用のモデルを取得

wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel

 
deepdream用のipython notebookを取得

git clone https://github.com/google/deepdream


手元でipython notebookが動作する環境がなかったのでpythonのスクリプトを公開している人がいたので取得した

wget http://www.hirotakaster.com/download/dd.py

自分の環境にあわせて変更
 中間の状態の表示をカットし、100回適応後の画像をフォルダーに書き出す

CPU環境で実行したので処理速度は遅く、元画像にサイズの大きい画像を選ぶと処理時間が増大するので、1000画素より小さくしている




参考にしたページ

ODROID-XU3 Lite向けにOpenCV2.4.11をビルドした


書きかけで放置していたものだが忘れるといけないのでUPしておく

前回はここ

前回同様にHDDにOpenCV2.4.11のソースを展開しておき、USB HDDを接続すると
/mnt/odroidにマウントされる

opencv2411のフォルダーにmkdir buildodroidを作成し、buildodroidに移動
今回は、
apt-get install libeigen3-devで eigenをインストールしている

すでにraspberry pi2用にビルドしたあとなので、tbbはHDD内に存在している
今回は、ccmakeで指定したtbbのオプションが有効になっているようだ

NEONをONに、GPUは関係ないので外し、あとビルド時間短縮のために不要なものを外している

time cmake -j8 で8コアを指定してビルドしてみる

何か警告が出ている無視
Note: Class Feature2D has more than 1 base class (not supported by Python C extensions)
      Bases:  cv::FeatureDetector, cv::DescriptorExtractor
      Only the first base class will be used

real    12m17.741s
user    69m20.115s
sys    5m56.840s

以上

2015年8月26日水曜日

OpenCV2.4.12.1がリリースされた

公式にはアナウンスされていないがひっそりとOpenCV 2.4.12.1がリリースされている

これまでソースは、sourceforgeからダウンロードしたが、方針の変更によりGitHubからダウンロードする事になった。




ダウンロードのページ
最新のコミットは、12日前(8/16時点)




リリースノートが無いため、2.4.11との変更点は不明である
時間があれば軽く差分を見てみる予定

ちなみに2.4.12は、28日前なので、わずか2週間で修正版がリリースされたことになる

まだ、ソースしか提供されていないので、Windowsでは、自分でビルドしないといけない


すでに2.4.13も予定されている

2015年8月14日金曜日

Raspberry Pi 2 で OpenCV 2.4.11 をビルドした

久しぶりに更新
2.4.10に関してはここ

8/17 追記
3/4に 
Raspberry Pi 2 で OpenCV 2.4.11 をビルドした
というメモを書いていたのをすっかり忘れている
前回は、オプションの設定をccmakeで手動で行っているが、今回は引数で設定している
今回はtbbでトラブルことはなかった



最初にraspberry piを更新しておく

sudo rpi-update
sudo apt-get update
sudo apt-get upgrade

ホストPCでOpenCV2.4.11のソースをダウンロードし、展開して外付けHDDにコピー

USB HDDをRaspberry Pi 2に接続し、2.4.11のフォルダーにbuildpi2を作成し、cd buildpi2

OpenCVに必要なファイルは、2.4.10のときにインストールしているので、今回は何もしない

コンフィグレーションを設定

cmake -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_VFPV3=ON -DENABLE_NEON=ON -DBUILD_DOCS=OFF -DBUILD_TESTS=off -DBUILD_PERF_TESTS=OFF -DBUILD_TBB=ON -DBUILD_opencv_apps=OFF -DBUILD_opencv_gpu=OFF -DWITH_OPENCL=off -DWITH_1394=off -DWITH_CUDA=OFF -DWITH_CUFFT=OFF -DWITH_GIGEAPI=OFF -DWITH_OPENCLAMDBLAS=off -DWITH_OPENCLAMDFFT=off -DWITH_TBB=ON ..

raspberry piではOpenCLがサポートされていないのでoffにしている

time make -j4でビルドを行う

real    51m17.127s
user    177m0.210s
sys    5m48.860s

以上

以下は、コンフィグレーション情報

General configuration for OpenCV 2.4.11 =====================================
  Version control:               unknown

  Platform:
    Host:                        Linux 3.18.11-v7+ armv7l
    CMake:                       2.8.9
    CMake generator:             Unix Makefiles
    CMake build tool:            /usr/bin/make
    Configuration:               RELEASE

  C/C++:
    Built as dynamic libs?:      YES
    C++ Compiler:                /usr/bin/c++  (ver 4.6.3)
    C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
    C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG
    C Compiler:                  /usr/bin/gcc
    C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
    C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG
    Linker flags (Release):    
    Linker flags (Debug):      
    Precompiled headers:         YES

  OpenCV modules:
    To be built:                 core flann imgproc highgui features2d calib3d ml nonfree objdetect video contrib legacy photo python stitching superres ts videostab
    Disabled:                    gpu world
    Disabled by dependency:      -
    Unavailable:                 androidcamera dynamicuda java ocl viz

  GUI:
    QT:                          NO
    GTK+ 2.x:                    YES (ver 2.24.10)
    GThread :                    YES (ver 2.40.0)
    GtkGlExt:                    NO
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.7)
    JPEG:                        libjpeg (ver 62)
    PNG:                         /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.49)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)

  Video I/O:
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      NO
      codec:                     NO
      format:                    NO
      util:                      NO
      swscale:                   NO
      gentoo-style:              NO
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    UniCap:                      NO
    UniCap ucil:                 NO
    V4L/V4L2:                    NO/YES
    XIMEA:                       NO
    Xine:                        NO

  Other third-party libraries:
    Use IPP:                     NO
    Use Eigen:                   YES (ver 3.1.0)
    Use TBB:                     YES (ver 4.3 interface 8002)
    Use OpenMP:                  NO
    Use GCD                      NO
    Use Concurrency              NO
    Use C=:                      NO
    Use Cuda:                    NO
    Use OpenCL:                  NO

  Python:
    Interpreter:                 /usr/bin/python2 (ver 2.7.3)
    Libraries:                   /usr/lib/libpython2.7.so (ver 2.7.3)
    numpy:                       /usr/lib/pymodules/python2.7/numpy/core/include (ver 1.6.2)
    packages path:               lib/python2.7/dist-packages

  Java:
    ant:                         NO
    JNI:                         NO
    Java tests:                  NO

  Tests and samples:
    Tests:                       NO
    Performance tests:           NO
    C/C++ Examples:              NO

  Install path:                  /usr/local


2015年3月19日木曜日

Windows版 OpenCV 2.4.11のConfigurationを表示してみた

デフォルトで提供されているWindows版の2.4.11のコンフィグレーションを表示させてみた
TBBがONになっていないのは何気にいたい

(顔検出はTBBがONになっているとコア数分並列で計算されるので効果が大きい)

独自のベンチを試してみたらUbuntuのTBB ONのバージョンと時間はほぼ同じであった
ConcurrencyがONになっているので、並列計算が有効になっていると思われる


General configuration for OpenCV 2.4.11 =====================================
  Version control:               2.4.11

  Platform:
    Host:                        Windows 6.1 AMD64
    CMake:                       2.8.11.2
    CMake generator:             Visual Studio 12 Win64
    CMake build tool:            C:/PROGRA~2/MSBuild/12.0/Bin/MSBuild.exe
    MSVC:                        1800

  OpenCV modules:
    To be built:                 core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu ocl nonfree contrib stitching superres ts videostab
    Disabled:                    java python world
    Disabled by dependency:      -
    Unavailable:                 androidcamera dynamicuda viz

  Windows RT support:            NO

  GUI:
    QT:                          NO
    Win32 UI:                    YES
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        build (ver 1.2.7)
    JPEG:                        build (ver 62)
    PNG:                         build (ver 1.5.12)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)

  Video I/O:
    Video for Windows:           YES
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      YES (prebuilt binaries)
      codec:                     YES (ver 55.18.102)
      format:                    YES (ver 55.12.100)
      util:                      YES (ver 52.38.100)
      swscale:                   YES (ver 2.3.100)
      gentoo-style:              YES
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    DirectShow:                  YES
    Media Foundation:            NO
    XIMEA:                       NO
    Intel PerC:                  NO

  Other third-party libraries:
    Use IPP:                     NO
    Use Eigen:                   NO
    Use TBB:                     NO
    Use OpenMP:                  NO
    Use GCD                      NO
    Use Concurrency              YES
    Use C=:                      NO
    Use Cuda:                    NO
    Use OpenCL:                  YES

  OpenCL:
    Version:                     dynamic
    Include path:                C:/builds/2_4_PackSlave-win64-vc12-shared/opencv/3rdparty/include/opencl/1.2 C:/Program Files (x86)/AMD/clAmdFft/include C:/Program Files (x86)/AMD/clAmdBlas/include
    Use AMD FFT:                 YES
    Use AMD BLAS:                YES

  Python:
    Interpreter:                 C:/Python27-x64/python.exe (ver 2.7.5)

  Java:
    ant:                         C:/Program Files (x86)/apache-ant/bin/ant.bat (ver 1.9.2)
    JNI:                         C:/Program Files/Java/jdk1.6.0_45/include C:/Program Files/Java/jdk1.6.0_45/include/win32 C:/Program Files/Java/jdk1.6.0_45/include
    Java tests:                  NO

  Tests and samples:
    Tests:                       NO
    Performance tests:           NO
    C/C++ Examples:              NO

Windows10 テクニカルプレビュー 64bit版にOpenCV 2.4.11の開発環境を構築した

検索などでこのページを訪れる人が、数は少ないけど、コンスタントにいる。
ちょうどこの上にあるG+1のボタンを押してもらうと、Goolgeの検索に見つかりやすくなるので、ご協力いただきたい。
 
久しぶりにwindws版を設定した。基本いつもと同じであるが、以後対象を64bitを前提に記す。

Windows版は、tbb、OpenGL、OpenNI、CUDAを使用しなければ、ダウンロードしたファイルを展開して設定すれば使用できるので、30分もかからず環境ができる。
(ダウンロード時間や、Visual Studio Community 2013のインストールを除く)


1 ここからWindows版をダウンロードする
ダウンロードサイズは350Mバイト

2 OpenCV-2.4.11.exeを実行しインストールディレクトリc:\を指定する

3 展開後、ディレクトリ名をopencvからopencv2411に変更する

4 OSの環境変数の設定(要管理者権限)
  コントロールパネル、システムとセキュリティ、システムを開き
  システムの詳細設定の環境変数ボタンを押し
  システム環境変数のPathの編集
  末尾に";C:\opencv2411\build\x64\vc12\bin"を追加
 (この作業後、一度サインオフし、再度サインインする)

5 Visual Studio 2013 Communityのプロパティファイルを作成する
以後のテキストをコピーし、ファイル名OpenCV2411_64.props などのファイル名を付けて任意のフォルダーに保存する

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>C:\opencv2411\build\include;$(IncludePath)</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>C:\opencv2411\build\x64\vc10\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

6 Visual Studio 2013 Communityのプロパティファイルの設定を行う
新規プロジェクトを作成し、viewのメニューから、Other Windows Property Managerを選択


property windowを表示し、Debug x64と Relearse x64に先ほどのファイルを追加する




7 手持ちのサンプルをmainにコピーしビルドし動作を確認する

以上

2015年3月4日水曜日

Raspberry Pi 2でOpenCV 2.4.11をビルドした


2.4.10の記事はここ

ccmakeによるパラメータの設定

1 コンパイラの変更
/usr/bic/gcc-4.8
/usr/bin/g++-4.8
ここで一旦cを押しconfigureを行う

注意
コンパイラを変えるとコンパイラ以外のすべての設定がデフォルトに戻るので再度指定する必要がある。

2 tbbの設定

ccamkeでtbb=onにして、
cを押しconfigureを行うと、tbbソースのダウンロードに失敗しているようである。

そこで一旦ccmakeを抜け、
wget https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20141204oss_src.tgz

により手動での取得を試みるがエラーが生じる

ERROR: The certificate of `www.threadingbuildingblocks.org' is not trusted.
ERROR: The certificate of `www.threadingbuildingblocks.org' hasn't got a known issuer.

certificationを登録しないで、取得するには以下のようにする

wget --no-check-certificate https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20141204oss_src.tgz

ダウンロードしたファイルは、
3rdparty/tbbにコピーしておく
(ここに0バイトの残骸が残っているので、上書きする)

3 再度ccmake を起動し、残りのパラメータを設定
cを押しconfigureし、gによりgenarateを行う

ccmakeを終了し、time make -j4でビルドする

real    50m51.860s
user    173m49.150s
sys    5m43.170s

4 インストール
sudo make install
sudo ldconfig

以上

2015年2月27日金曜日

OpenCV 2.4.11がリリースされた

議事録に記載されていないのに 2.4.11版が突然リリースされた。

現時点では、windowsとLinuxのみ

差分の記述がないのでMeld差分ビューワーでフォルダーを比較して気づいた点

CMakeLists.txt
デフォルトでNEONがONになっている

Haarcascadeのデータ形式が新フォーマットに

モジュールの修正が多いが、ほとんどtipoや細かいバグの修正

GPU sampleの修正が多い


全文サーチでNEONを調べるてみたが、ファイルが1個増えているが、どれか不明
oclのファイルの数は変化なし

明日といっても今日になっているが、ビルドしてパフォーマンスを見てみる

2015年2月23日月曜日

OpenCV 3.0betaでは、tbbが無効である

先週ベンチマーク用に、masterのソースを取得し、ビルドしてみたが、以前として、tbbが有効にならない

configrationでは、tbbが認識されソースもダウンロードされており、ビルドも成功するが
できた自作のベンチのスコアが芳しくない

そこでライブラリの依存関係を見てみると、3.0betaでは、tbbがリンクされていない

ldd /usr/local/lib/libopencv_core.so
    linux-vdso.so.1 =>  (0x00007fff039fe000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1914166000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1913f62000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1913d43000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f1913b3b000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1913835000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1913530000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f191316a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1912f54000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1915049000)

ちなみに2.4.10の場合
ldd /usr/local/lib/libopencv_core.so
    linux-vdso.so.1 =>  (0x00007ffff31db000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f35ce7ec000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f35ce5ce000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f35ce3c5000)
    libtbb.so => /usr/local/lib/libtbb.so (0x00007f35ce19a000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f35cde94000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f35cdb8f000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f35cd7c9000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f35cd5b3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f35ceed4000)

と正しくリンクされている。

その他
3.0rcのリリース時期が、議事録では1/26日から2weeks以内と見積もりされているが、この調子では、かなり延期するのではと思われる。

OpenCV3.0betaで、HOG+SVMの辞書を作成

OpenCV 3.0 betaのサンプルのcppにtrain_HOG.cppがあるのを見つけた。
中を見てみると自分でHOGの辞書を作ることができるようだ

ソースの内容は大きく分けると

データの読み込み
ファイルリストを読み込みpositive, negativeの画像を読み込む。

ただし、この部分はINRIAデータに依存した記述になっている。
また、INRIAデータの解釈を間違っており、サンプルのままでは、よくない結果となるよ予想される。INRIAの画像は、4方に16画素のマージンが含まれており、実際の画像は、64x128が正しい

特徴量の計算
各画像のHOG特徴量を計算し、gradient_lstに格納している
hog.compute( gray, descriptors, Size( 8, 8 ), Size( 0, 0 ), location );

const vector<Point>& locationsに座標が格納されている場合は、その座標で計算する
locations.sizeが0の場合、決められた座標で計算する

SVMによる学習
SVM::Params paramsにパラメータをセットし、
Ptr<SVM> svm = StatModel::train<SVM>(train_data, ROW_SAMPLE, Mat(labels), params);
で学習を行なう

3.0はいろいろ問題があるので、2.4.10でビルドできないか試したところ、読み込みと特徴量のところは問題がなかったが、2.4.10では、mlクラスはないので、この部分を自分でlibLinearに置き換えれば、2.4.10で自分の辞書ができそうである。

2.4.10のHOGのソースの場所
opencv2410/modules/objdetect/src/hog.cpp

3.0のpython版による手書き数字識別のチュートリアル
OCR of Hand-written Data using SVM

2015年2月20日金曜日

OpenCV 3.0betaの変更点

自作のベンチマークで使用している関数が、3.0betaでエラーとなったので修正した。
いずれも3.0のマニュアルを見てもよくわからなかったので、メモを残しておく

1 TickMeter
  3.0から削除されているので2.4.10のソースからそのままコピーした
  • opencv2410/modules/contrib/include/opencv2/contrib/contrib.hpp
  • opencv2410/modules/contrib/src/spinimages.cpp

2 ORB

 コンストラクター
 cv::Ptr<cv::ORB> detector = cv::ORB::create();
 
 キーポイント
    detector->detect(gray1, keypoint1);
 
 特徴量
    detector->compute(gray1, keypoint1, descriptor1);

3 StereoBM
  コンストラクター
  cv::Ptr<cv::StereoBM> bm = cv::StereoBM::create();

 差分
    bm->compute(mat2, mat3, tmp);

以上

2015年2月17日火曜日

OpenCVのNEON対応を調べてみた

2.4.10と3.0beta(2/15日取得)のソースでNEONで全文検索(Catfish)を試してみた

moduleの下のソースで含まれていたものをそれぞれ示す
coreモジュールの対応が増えているので期待できそうである

2.4.10
 

3.0 beta

Raspberry Pi 2のOpenCVのパフォーマンスの改善を試みた

OpenCVのオプション、-DENABLE_VFPV3=ONを設定し、OpenCVをビルドしなおしてみた。

残念ながら、自作のベンチマークの処理時間は、誤差ぐらいの時間しか違いがなかった。


configureの設定のコンパイラ部分を参考に載せておく
ここに、-march=armv7-a mfpu=neon-vfpv4 がつけば良いのだが、現状-mfpu=neonだけで、ENABLE_VFPV3の設定も行われていない気がする。


C++ Compiler:                /usr/bin/c++  (ver 4.6.3)
C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -O3 -DNDEBUG  -DNDEBUG

C Compiler:                  /usr/bin/gcc
C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfpu=neon -ffunction-sections -O3 -DNDEBUG  -DNDEBUG


2/17追加

opencv2410/cmake/OpenCVCompilerOptions.cmakeを見てみると

   if (ENABLE_NEON)
    add_extra_compiler_option("-mfpu=neon")
  endif()
  if (ENABLE_VFPV3 AND NOT ENABLE_NEON)
    add_extra_compiler_option("-mfpu=vfpv3")
  endif()

となっており、NEONの場合、VFPV3は有効にならない設定である

OpenCVのビルド時間の短縮

強力なIntelマシンだとビルド時間は気にならない程度であるが、raspberry pi 2では、HDDを使用していても、ビルド時間が長く感じられる。

ビルド時間短縮ためにいつも、ドキュメント、テスト、パフォーマンステスト、サンプルなどを外し、さらに、GPUやOpenCLなど対応していない機能も外している。

それでも長いため、さらなる時間の短縮のために、最後にビルドされる opencv_traincascade などのアプリをビルドしないように試してみた

単純にapps/CMakeLists.txtを別名にしただけでは、cmakeの時にエラーが生じる。

そこで、CMakeLists.txtの名前を変え、CMakeLists.txtのからファイルを作成することでビルドされないことが確認でき、最後の数分を短縮することができた。

2/17追加
上記のようにしなくても、単に BUILD_opencv_apps を off にすればよい

Raspberry Pi 2 で OpenCV 2.4.10 をビルドした その2

もう少し速度の処理速度を速くすることができないかと、いろいろ調べてみた
再度本家のページを読み返してみると、ページの下段に

Add -DENABLE_VFPV3=ON to cmake command line to enable code generation for VFPv3

という説明を見つけた。

前回のccmakeでオプション指定を忘れているので、今度は、ENABLE_VFPV3をONにした。
また、対応していないOpenCL関連をすべてOffとし、configureとgenerateを行う
そしてmake -j4で再度ビルドを行った。

問題なくビルドが終了したので、比較ために自作のベンチマークを行う予定である。


前の記載でRasberry Pi 2の変化点として、コアが、ARMv6からARMv7に変更したこととなっていた。

Raspberry Pi 2 でそのままビルドすると ARMv6 のバイナリが生成されるため、コンパイラのオプションを変えたほうが良いとのページを見つけたが、OpenCVのcmakeでは、CPUアーキテクチャの指定方法が見つからない

この件は継続調査を行うが、あの方や、あの方が調べてくれるのではと期待もしている。


2/17追加
opencv2410/cmake/OpenCVCompilerOptions.cmake
をむりやり修正することにより

    C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -pthread -fomit-frame-pointer -march=armv7-a -mfpu=neon-vfpv4 -ffunction-sections -O3 -DNDEBUG  -DNDEBUG

にすることができたが、Raspberry Pi 2のコンパイラでは、-march=armv7-a -mfpu=neon-vfpv4 のオプションは聞いていないとの情報あり

この件は、継続調査

2015年2月15日日曜日

Raspberry Pi 2で赤外線カメラをnativeドライバで動作させてみた

Raspberry Pi 2のパフォーマンスが良いので、Raspberry Piに装着した赤外線カメラモジュールをPi 2に取り付けてみた

カメラを動作させるには、raspi-configでカメラを有効にし、専用のnativeドライバーを使用する必要がある

専用ドライバは、起動後に、terminalを開き
sudo modprobe bcm2835-v4l2
で読み込む必要がある

あとは、OpenCVのVideoCaptureが使用できる
VGA画像を30fpsで読み込むことができ、表示させるだけなら遅延はほとんど感じられない

残念ながらフレームレートを
mCap.set(CV_CAP_PROP_FPS, 60);
で変えることはできなかった

2015年2月9日月曜日

Raspberry Pi 2のインタビュー記事にOpenCVが述べられている

オリジナルの記事
Raspberry Pi財団の創設者 Eben Uptonに聞くRaspberry Pi 2


インタビューの最後の方にこんな言葉が

クアッドコアの登場がMakerや企業にどんな恩恵を与えるでしょうか。ハードウェアのローレベルアクセスを必要とするのは、どんな人ですか?

”すべての人にかなりの恩恵があると思います。Makerから、OpenCV+SMP+NEONを使ってもっと進化したアプリが出てくるのが楽しみですね。”

パフォーマンスも大幅に向上しているので、何か面白いものを作ってみたい

Raspberry Pi 2 と Raspberry Pi のOpenCVのパフォーマンスを比較した

Paspberry Pi 2 と Raspberry PiのUinuxBenchは公開されているので、
自作のベンチマークプログラムを使用しOpenCVの処理時間を比較してみた

Raspberry Piの方は、ソースをビルドしたものではなく
sudo apt-get install libopencv-devを使用してOpenCV 2.4.1をインストールしている。
Raspberry Pi のビルド時間が数時間と言われていたので、既存のものをそのまま利用した。
関連ページはここ


Raspberry Pi 2の方は、6倍の処理速度の評判のため、2.4.10のソースを自分でビルドした
関連ページはここ

計測方法

計測した関数は、以下のもので、使用頻度と計算量を考慮して選択している。
引数は、なるべくデフォルトのものを使用している。
計測に使用した画像は、sampleで提供されているものであり、640 x 480の画像を使用している
  • CloneRGB
  • pyrDown
  • pyrUp
  • cvtColor
  • GaussianBlur ksize(5x5)
  • Sobel CV_32F xorder
  • threshold BINARY Th 128 Max 255
  • Orb FeatureDetector
  • Orb DescriptorExtractor
  • BFMatcher NORM_L2
  • StereoBM BASIC_PRESET
  • calcOpticalFlowFarneback
  • CascadeClassifier
計測結果


単位はmsecである。
右の欄は処理時間の比である。

一声6倍と言われているが、NEONの効果かもしれないが、それ以上に改善された関数もある。
特に物体検出に利用されるCascadeClassifierが速くなったのは、嬉しいかもしれない。

2015年2月8日日曜日

Raspberry Pi 2 で OpenCV 2.4.10 をビルドした

販売当時に予約して金曜日に到着した。
Pi 2に対応した raspbian-2015-1-31のイメージを class10の16GのSDカードにインストールし、
初期設定を行った。

2.4.10のソースを格納したUSB HDDをRaspberry Pi 2に接続し、USB HDDの領域でビルドしている。

OpenCV用に以下のコマンドを実行している。

sudo apt-get install cmake cmake-curses-gui python-dev python-numpy libgtk2.0-dev

cmake ..
ccmake
make -j4
sudo make install
sudo ldconfig

make時間は1時間未満ですんだ。この後いつものテストプログラムを実行し問題なく画像は表示できた。

関連ファイルは全部インストールしていない。詳細はここ

補足 02/15
OpenCLをONにしているがRaspberry Pi 2でもOpenCLは、サポートされていないので、無駄なオプションである。

補足 02/17
Eigenを使用するには、
 sudo apt-get install libeigen3-dev
を事前に行っていないいけない




General configuration for OpenCV 2.4.10 =====================================
  OpenCV modules:
    To be built:                 core flann imgproc highgui features2d calib3d ml objdetect video ocl nonfree contrib legacy photo python stitching superres ts videostab
    Disabled:                    gpu world
    Disabled by dependency:      -
    Unavailable:                 androidcamera dynamicuda java viz

  GUI:
    QT:                          NO
    GTK+ 2.x:                    YES (ver 2.24.10)
    GThread :                    YES (ver 2.40.0)
    GtkGlExt:                    NO
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.7)
    JPEG:                        libjpeg (ver 62)
    PNG:                         /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.49)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)

  Video I/O:
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      NO
      codec:                     NO
      format:                    NO
      util:                      NO
      swscale:                   NO
      gentoo-style:              NO
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    UniCap:                      NO
    UniCap ucil:                 NO
    V4L/V4L2:                    NO/YES
    XIMEA:                       NO
    Xine:                        NO

  Other third-party libraries:
    Use IPP:                     NO
    Use Eigen:                   NO
    Use TBB:                     YES (ver 4.1 interface 6102)
    Use OpenMP:                  NO
    Use GCD                      NO
    Use Concurrency              NO
    Use C=:                      NO
    Use Cuda:                    NO
    Use OpenCL:                  YES

  OpenCL:
    Version:                     dynamic
    Include path:                /opencv2410arm/3rdparty/include/opencl/1.2
    Use AMD FFT:                 NO
    Use AMD BLAS:                NO

  Python:
    Interpreter:                 /usr/bin/python2 (ver 2.7.3)
    Libraries:                   /usr/lib/python2.7/config/libpython2.7.so (ver 2.7.3)
    numpy:                       /usr/lib/pymodules/python2.7/numpy/core/include (ver 1.6.2)
    packages path:               lib/python2.7/dist-packages

  Java:
    ant:                         NO
    JNI:                         NO
    Java tests:                  NO

  Tests and samples:
    Tests:                       NO
    Performance tests:           NO
    C/C++ Examples:              NO

  Install path:                  /usr/local