sheep

理系大学院で研究に勤しむ学生です.日々の悪戦苦闘をblogにしてみようと思い,blogを開設.

Raspberry Pi 3 + OpenCV3.1導入


今回は先日構築した,RPiにOpenCVを導入してみたいと思います!

OpenCVとは簡単に言うと,画像処理ライブラリです.

画像処理に敷居が昨今急速に下がり,誰でも利用できるようになっているのも

OpenCVが一役買っていると思います(ホントか?笑)


具体的には,顔検出や基本的な画像フィルタリング,機械学習なんかも

カバーしているようです.

RPiと専用カメラV2を所持している私には,持って来い笑



OpenCVのソースからビルドを行います.

公式サイトから最新版(2016/12/14現在)である3.1をDL!


その後,DLしたzipファイルをRPiにコピーして以下のコマンドをターミナルで実行.

(これほんとに通るのか...)

echo [INFO]Install OpenCV 3.1.0 script
echo [INFO]Install some Dependences
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran

echo [INFO]Unzipping sorce zip sudo unzip opencv-3.1.0.zip
echo [INFO]Make OpenCV cd ./opencv-3.1.0/

sudo mkdir build cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..
sudo make -j8

echo [INFO]Install OpenCV
sudo make install
sudo ldconfig


何事もなく,スクリプトが実行され導入が完了したみたいです(ヤッター)

実はこのエントリを書く前に,5回くらい様々なサイトを徘徊して

導入をトライしていたのですが,makeの途中でエラーがでてしまっていたのでようやくです...



どうやら,これまで用いていたOpenCVのソースにバグが含まれていたみたいで,今回はOpenCV公式サイトからDLしたのが功を奏したみたいですね.



動作確認として,verチェックを.

#include <iostream>
#include<opencv2/core/core.hpp>
#define OPENCV_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define OPENCV_VERSION_CODE OPENCV_VERSION(CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION)

int main(int argc, char *argv[]) {
  std::cout << "version: " << CV_VERSION << std::endl;
 std::cout << " major: " << CV_MAJOR_VERSION << std::endl;
 std::cout << " minor: " << CV_MINOR_VERSION << std::endl;
 std::cout << " subminor: " << CV_SUBMINOR_VERSION << std::endl;
 std::cout << "OpenCV >= 2.0.0: " << (OPENCV_VERSION_CODE>=OPENCV_VERSION(2,0,0)?"true":"false") << std::endl;

 return 0;
}

実行すると

version: 3.1.0
major: 3
minor: 1
subminor: 0
OpenCV >= 2.0.0: true

所望の結果が得られました(^^)


ちなみに,コンパイルの際のオプションは

g++ hoge.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` -o hoge

とすると通ります.


0コメント

  • 1000 / 1000