sheep

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

記事一覧(5)

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 scriptecho [INFO]Install some Dependencessudo apt-get install build-essential cmake pkg-configsudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-devsudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-devsudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-devsudo apt-get install libatlas-base-dev gfortranecho [INFO]Unzipping sorce zip
sudo unzip opencv-3.1.0.zipecho [INFO]Make OpenCV
cd ./opencv-3.1.0/sudo mkdir build
cd buildsudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..sudo make -j8echo [INFO]Install OpenCVsudo make installsudo 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.0major: 3minor: 1subminor: 0OpenCV >= 2.0.0: true所望の結果が得られました(^^)ちなみに,コンパイルの際のオプションはg++ hoge.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` -o hogeとすると通ります.

Raspberry Pi 3 導入② ~NOOBS編~

前回,Raspberry Pi 3 導入①でラズベリーパイのセットアップの準備を行いました.今回はNOOBSを用いて,実際にOSの導入を行いたいと思います!早速,諸々のUIを接続して...電源ON!ラズベリーの画像が表示されて,導入画面らしきものが!ヤッタネ!OSの導入と言われると英語ベースでCUIでエラーが多発して,,みたいな初心者な私にはありがたいし安心!(スクショが取れなくて文字だけでお送りしております笑)そして今回導入するOS導入はRaspbianというOSにするので,Raspbianを選択してinstallをクリック!(マウスが最初から使えるなんて,NOOBSすごい)公式サイトによると,Raspbianが公式サポートOSのみたいですね.Raspbian is the Foundation’s official supported operating system. You can install it with NOOBS or download the image below and follow our installation guide.

Raspbian comes pre-installed with plenty of software for education, programming and general use. It has Python, Scratch, Sonic Pi, Java, Mathematica and more.一方,現在はRaspbian以外にも様々なサードパーティOSがサポートされているみたいです.機会があったら導入してみよう.その後,順調にインストール進捗が溜まっていく(^o^)しかしRaspbian導入完了のポップアップと共にエラーが...(なんだよこれぇ...NOOBSすごいじゃないのかよぉ...)エラー内容はError downloading or extracting tarballxz: corrupted data
tar: short readと上がっていました.とりあえず,思考停止して再度同様の手順で導入を試みるもまたしても同じエラーが...困った.tarballって何ぞ.球体??tarってzipとかそのへんの話なのか...??wikipedia先生によるとtarはファイルのアーカイブに用いられ、多数のファイルを一つのファイルにまとめることができる。その際、ファイルのユーザ情報とグループ情報、パーミッション、最終更新日時、ディレクトリ構造などを同時にアーカイブすることができる。 UNIX系コミュニティでは、圧縮したtar形式のファイルを"tarball"(ターボール)と呼ぶこともある。この語は、元々は「リーマスじいや(英語版)」の童話『タールの赤ん坊(英語版)』に由来し[3]、それに油塊(タールボール)を引っ掛けたジョーク的用語である。とのこと.あれか?とりあえず,なんかダウンロードしたファイルがダメなんか?情弱な私には,sha1sumを用いてNOOBS.zipの完全性を確認するくらいしか思いつかないのでとりあえず,完全性を確認.うん,完全だわ.特に手立てが無く,手詰まり感が半端ないです.色々webを徘徊していると導入に失敗するケースとしてSDの相性が悪いという記事を発見.