FC2カウンター FPGAの部屋 ZYBOのARMhfのUbuntu 14.04 LTS にOpenCV 2.4.10をインストール
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZYBOのARMhfのUbuntu 14.04 LTS にOpenCV 2.4.10をインストール

ZYBOのDigilent Linux KernelにARMhfのRoot File Systemsを入れる3(Ubuntu Trusty 14.04 LTS)”の続き。

ZYBOのARMhfのUbuntu 14.04 LTS にも、OpenCV 2.4.10をインストールした。

opencv_pre_install.sh を作って、それを実行した。その内容を示す。

sudo apt-get -yV install build-essential
sudo apt-get -yV install libboost1.46-all-dev
#
cd /tmp; sudo apt-get source opencv
sudo apt-get -yV build-dep opencv
#
sudo apt-get -yV install libqt4-dev
sudo apt-get -yV install libgtk2.0-dev
sudo apt-get -yV install pkg-config
#
sudo apt-get -yV install opencl-headers
#
sudo apt-get -yV install libjpeg-dev
sudo apt-get -yV install libopenjpeg-dev
sudo apt-get -yV install jasper
sudo apt-get -yV install libjasper-dev libjasper-runtime
sudo apt-get -yV install libpng12-dev
sudo apt-get -yV install libpng++-dev libpng3
sudo apt-get -yV install libpnglite-dev libpngwriter0-dev libpngwriter0c2
sudo apt-get -yV install libtiff-dev libtiff-tools pngtools
sudo apt-get -yV install zlib1g-dev zlib1g-dbg
sudo apt-get -yV install v4l2ucp
#
sudo apt-get -yV install python
sudo apt-get -yV install autoconf
sudo apt-get -yV install libtbb2 libtbb-dev
sudo apt-get -yV install libeigen2-dev
sudo apt-get -yV install cmake
sudo apt-get -yV install openexr
sudo apt-get -yV install gstreamer-plugins-*
sudo apt-get -yV install freeglut3-dev
sudo apt-get -yV install libglui-dev
sudo apt-get -yV install libavc1394-dev libdc1394-22-dev libdc1394-utils
#
sudo apt-get -yV install libxine-dev
sudo apt-get -yV install libxvidcore-dev
sudo apt-get -yV install libva-dev
sudo apt-get -yV install libssl-dev
sudo apt-get -yV install libv4l-dev
sudo apt-get -yV install libvo-aacenc-dev
sudo apt-get -yV install libvo-amrwbenc-dev
sudo apt-get -yV install libvorbis-dev
sudo apt-get -yV install libvpx-dev


・まず、opencv-2.4.10.zip を、SourceForge からダウンロードした。
wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip

・OpenCV ディレクトリを作製して、その下に、opencv-2.4.10.zip を移動した。
mkdir OpenCV
mv opencv-2.4.10.zip OpenCV
cd OpenCV


・opencv-2.4.10.zip を解凍した。
unzip opencv-2.4.10.zip

・opencv-2.4.10 ディレクトリができた。

・opencv-2.4.10 ディレクトリに行って、build ディレクトリを作製した。
mkdir build

・build ディレクトリに行った。
cd build

・そこで、OpenCV をインストールするためのコマンドを発行した。
cmake ..
make

ZYBO_ARMhf_31_150204.png

sudo make install
sudo ldconfig

これで、 Ubuntu 14.04 LTS に、OpenCV-2.4.10 をインストールすることができた。ビルドは成功した。

いつものように、samples/c のOpenCV のサンプルプログラムもすべてビルドできた。
./build_all.sh

レナ像の顔検出と目の検出も問題なくできた。
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml" --scale=1.3 lena.jpg
ZYBO_ARMhf_32_150204.png

OpenCVのCやC++のソフトウェアを実行するために、コンパイル・スクリプトを作製した。
詳しくは、”OpenCV のコンパイル・スクリプト”を参照下さい。

これで、OpenCVについても、Linaro Ubuntu 14.04 LTS と同じ環境が揃った。


おまけとしてレナ像の scale の値による detection time の変化と、顔認識、目認識の様子についてもデータを取ってみた。(画像のサイズは 512x512 ピクセル)

scale = 1.0, detection time = 2037.15 ms (顔も目も認識されている)
ZYBO_ARMhf_34_150204.png

scale = 1.3, detection time = 1206.48 ms (顔も目も認識されている)

scale = 2.0, detection time = 449.268 ms (顔も目も認識されている)
ZYBO_ARMhf_33_150204.png

scale = 3.0, detection time = 206.46 ms (顔のみ認識されている)
ZYBO_ARMhf_35_150204.png

scale = 4.0, detection time = 119.46 ms (顔のみ認識されている)
ZYBO_ARMhf_36_150204.png

scale = 5.0, detection time = 76.6311 ms (顔のみ認識されている)
ZYBO_ARMhf_37_150204.png

scale = 6.0, detection time = 53.7746 ms (顔のみ認識されている)
ZYBO_ARMhf_38_150204.png

scale = 7.0, detection time = 39.568 ms (顔も目も認識されない)
ZYBO_ARMhf_39_150204.png

scale = 8.0, detection time =32.1023 ms (顔も目も認識されない)
ZYBO_ARMhf_40_150204.png

ZynqのCortex-A9 プロセッサによる OpenCV 2.4.10での顔認識と目認識のscaleによるdetection timeの値の表を下に示す。
ZYBO_ARMhf_41_150204.png

scale = 2.0 は scale = 1.0 よりも大体、2.0の2乗分の 1 にスケールダウンしているようだ。


もう1つおまけで、cmake 時のパラメータの表示を示す。
-- General configuration for OpenCV 2.4.10 =====================================
--   Version control:               unknown
--
--   Platform:
--     Host:                        Linux 3.14.0-xilinx-13567-g906a2c9-dirty armv7l
--     CMake:                       2.8.12.2
--     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.8.2)
--     C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -

--     Linker flags (Release):
--     Linker flags (Debug):
--     Precompiled headers:         YES
--
--   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:                    world
--     Disabled by dependency:      -
--     Unavailable:                 androidcamera dynamicuda java python viz
--
--   GUI:
--     QT:                          NO
--     GTK+ 2.x:                    YES (ver 2.24.23)
--     GThread :                    YES (ver 2.40.2)
--     GtkGlExt:                    NO
--     OpenGL support:              NO
--     VTK support:                 NO
--
--   Media I/O:
--     ZLib:                        /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.8)
--     JPEG:                        /usr/lib/arm-linux-gnueabihf/libjpeg.so (ver )
--     PNG:                         /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.50)
--     TIFF:                        /usr/lib/arm-linux-gnueabihf/libtiff.so (ver 42 - 4.0.3)
--     JPEG 2000:                   /usr/lib/arm-linux-gnueabihf/libjasper.so (ver 1.900.1)
--     OpenEXR:                     build (ver 1.7.1)
--
--   Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  YES (ver 2.2.1)
--     FFMPEG:                      NO
--       codec:                     NO
--       format:                    NO
--       util:                      NO
--       swscale:                   NO
--       gentoo-style:              NO
--     GStreamer:
--       base:                      YES (ver 1.2.4)
--       video:                     YES (ver 1.2.4)
--       app:                       YES (ver 1.2.4)
--       riff:                      YES (ver 1.2.4)
--       pbutils:                   YES (ver 1.2.4)
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     UniCap:                      NO
--     UniCap ucil:                 NO
--     V4L/V4L2:                    Using libv4l1 (ver 1.0.1) / libv4l2 (ver 1.0.1)
--     XIMEA:                       NO
--     Xine:                        NO
--
--   Other third-party libraries:
--     Use IPP:                     NO
--     Use Eigen:                   YES (ver 2.0.17)
--     Use TBB:                     NO
--     Use OpenMP:                  NO
--     Use GCD                      NO
--     Use Concurrency              NO
--     Use C=:                      NO
--     Use Cuda:                    NO
--     Use OpenCL:                  YES
--
--   OpenCL:
--     Version:                     dynamic
--     Include path:                /home/ubuntu/OpenCV/opencv-2.4.10/3rdparty/include/opencl/1.2
--     Use AMD FFT:                 NO
--     Use AMD BLAS:                NO
--
--   Python:
--     Interpreter:                 /usr/bin/python2 (ver 2.7.6)
--
--   Java:
--     ant:                         NO
--     JNI:                         NO
--     Java tests:                  NO
--
--   Documentation:
--     Build Documentation:         NO
--     Sphinx:                      NO
--     PdfLaTeX compiler:           NO
--
--   Tests and samples:
--     Tests:                       YES
--     Performance tests:           YES
--     C/C++ Examples:              NO
--
--   Install path:                  /usr/local
--
--   cvconfig.h is in:              /home/ubuntu/OpenCV/opencv-2.4.10/build
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/OpenCV/opencv-2.4.10/build
  1. 2015年02月05日 04:30 |
  2. OpenCV
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/3066-07765884
この記事にトラックバックする(FC2ブログユーザー)