FC2カウンター FPGAの部屋 2018年04月06日
FC2ブログ

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

FPGAの部屋

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

ZYBO-Z7-20のDebianにOpenCV 3.1.0をインストール

@ikwzmさんの”FPGA+SoC+Linux+Device Tree Overlay+FPGA Region(SDSoC対応編)”をやってみる1”で作りなおしたZYBO-Z7-20のDebianにOpenCV3.1.0をインストールした。

なお、何でOpenCV 3.1.0 かというと、reVISION-Zybo-Z7-20 で作成したMicro SD カードでOpenCVのバージョンを調べるために、
pkg-config --modversion opencv
を実行したところ、3.1.0 だったためだ。

さて、OpenCV 3.1.0 をインストールしていこう。
最初に”Ubuntu 16.04にOpenCV 3.1をインストールする手順”を見ながら下準備をした。
しかし、無いモジュールもあった。コマンドを示す。
sudo apt-get install build-essential cmake git
debian_opencv310_1_180404.png

sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
debian_opencv310_2_180404.png

OpenCV 3.1.0 をダウンロードする。
wget https://github.com/Itseez/opencv/archive/3.1.0.zip
debian_opencv310_3_180404.png

OpenCV 3.1.0 を解凍する。
unzip 3.1.0.zip
debian_opencv310_4_180405.png

cd opencv-3.1.0/
mkdir build
cd build

debian_opencv310_5_180405.png

この辺りで、Raspberry Pi のOpenCVインストール記事に乗り換える。”Raspberry Pi 2 ★ OpenCV 3.1.0 のインストール 〜 C++ & Python サンプルでのカメラ動作確認まで”を参考にした。その記事によると、cmake-gui を使うとのことなので、
sudo apt install cmake-gui
で cmake-gui をインストールした。
debian_opencv310_6_180405.png

cmake-gui
Where is the source code: に /home/fpga/opencv-3.1.0
Where is build the binaries: に /home/fpga/opencv-3.1.0/build
を設定した。
Add Entry ボタンをクリックして以下のエントリを追加し、チェックを付けた。
ENABLE_NEON
ENABLE_OMIT_FRAME_POINTER
ENABLE_PRECOMPILED_HEADERS (このエントリを追加してチェックをつけたことにより、後でエラーになってしまった。チェック無しをお勧めする)
ENABLE_VFPV3
debian_opencv310_7_180405.png

Configure ボタンをクリックする。(下の図はクリックする前)
debian_opencv310_8_180405.png

CMakeSetup ダイアログが開いた。Specify the generator for this project をUnix Makefile のままとして、Finish ボタンをクリックした。
debian_opencv310_9_180405.png

Configure が進んでいるところを示す。
debian_opencv310_10_180405.png 

Configure が終了し、エントリが増えた。
Generate ボタンをクリックした。
debian_opencv310_11_180405.png

Generate 終了。cmake-gui を閉じた。
debian_opencv310_12_180405.png

make
make が始まった。
debian_opencv310_13_180405.png

19% 付近でエラー発生。なんと stdlib.h がないと言われている。。。
debian_opencv310_14_180405.png

検索してみると、”opencv2系をgcc6でコンパイルしたらエラーになった"がヒット。それによると、

-D ENABLE_PRECOMPILED_HEADERS=OFF

にする必要があるということだ。
もう一度
cmake-gui
して、ENABLE_PRECOMPILED_HEADERS のチェックを外した。
debian_opencv310_15_180405.png

Configure して、Generate した。
debian_opencv310_16_180405.png

そして、もう一度
make
した。
debian_opencv310_17_180405.png

make が成功した。やった〜〜〜。

sudo make install
sudo ldconfig

debian_opencv310_18_180405.png

python のサンプルを実行する。
cd ../samples/python/
ls

debian_opencv310_19_180405.png

./video.py
debian_opencv310_20_180405.png

./video.py を実行すると以下のウインドウが表示された。
debian_opencv310_21_180405.png

次は C++ のサンプルをやってみる。
cd ~/opencv-3.1.0/samples/cpp/example_cmake/
make

debian_opencv310_22_180405.png

opencv_example ができた。

./opencv_example
で実行すると、

Gtk-Message: Failed to load module "canberra-gtk-module"

が出ている。
debian_opencv310_23_180405.png

./opencv_example を実行すると下のようなウインドウが表示された。
debian_opencv310_24_180405.png

”Gtk-Message: Failed to load”表示が気になるので、検索したところ” [SOLVED] Gtk-Message: Failed to load module "canberra-gtk-module"”が見つかった。
それによると、
sudo apt-get install libcanberra-gtk3-module
すればよいそうなので、やってみた。
もう一度、
./opencv_example
すると、”Gtk-Message: Failed to load”表示は解消された。
debian_opencv310_25_180405.png

しかし表示されたウインドウに変化はなかった。
debian_opencv310_26_180405.png

example.cpp を見てみると、VideoCapture とかを使用していて、カメラ画像をキャプチャするサンプルのようだ。これは無理のようだ。

ともかく、OpenCV 3.1.0 をインストールすることができた。
  1. 2018年04月06日 03:59 |
  2. OpenCV
  3. | トラックバック:0
  4. | コメント:0