Takunojiのプログラミング・プレイグラウンド(遊び場)

「プログラミングのススメ」と学習した結果身につくもの、アイディアを実現するために何をしたら良いか?の答えが出せるようになります。

OpenCvカメラを作る 〜計画を始める〜

イントロダクション

ちょっとした思いつきというか、以前からOpenCvで何かやりたいと思っていたのですが、ラズパイでカメラの作成をやり、学習も兼ねてOpenCvを内蔵したカメラ(ラズパイ使用)を作ろうと思った次第です。

f:id:Takunoji:20190724221504p:plainf:id:Takunoji:20190724221506p:plain
ラズパイカメラ

OpenCvカメラ

  • カメラ=デバイスラズベリーパイ(RPi2)を使用しようと思います。
  • OpenCv=カメラから入力された画像を加工、解析し何かしらの描画を行う。
  • 使用するプログラム言語=Javaを使用するのでOpenJDKでビルドするようにする

仕様

とりあえずはここまでの仕様にしておきます。 これを作成するのに必要な技術をリストアアップすると以下のようになります。 f:id:Takunoji:20190724221205p:plain

必要な知識

  1. OpenCv(Java版)
  2. ラズパイでカメラを作成する手順
  3. 電子部品をラズパイに接続する回路部分

計画

以下のようなアプローチ方法でやろうと思います

プログラムから

OpenCvの理解と実装を行います。作成したプログラムはGitにアップしてラズパイでソースをPULLして起動できるようにしたいと思います。
そうすればOpenCVの開発に集中できると思ったからです。ラズパイの工作は休日に別個にしてやろうと思います。

ラズパイ工作

電子部品の接続やら半田付けなど、こういった作業に関してはまとまった時間を使用して行いたいので休日の日にやるようにしたいと思います。
逆に平日は、調査とかOpenCvの実装などをやろうと思っています。

まずはOpenCV

カメラを作るのですが、ただ単に写真を撮るのでは物足りないのでOpenCvでの背景除去などの画像加工処理を行えるようにしたいと思いっています。
つまり、背景除去の処理から着手しようと思っています。

蛇足
  • 背景除去で人や物のみの画像を作成(カメラで取れる)ようにする
  • 物体認証で物を判別できるようにする→何かしらのギミックに使用
  • 物体までの距離などの計測した値を表示する

電子工作

まずは手持ちのラズパイを使用して電源を作成しようと思います。次にカメラの接続、そのほか思いついたことをやる。。。

まとめ

以上のような計画でことを進めようと思います。計画の考え方は目標ブレークツリーを作る方法でやっています。
とりあえずは、2つのアプローチ方法で計画を進めていこうと思っている次第です。仕事をしているので、平日は店を広げてのんびりこう作成ている余裕がないので、アプローチ方法を分けました。 アプローチ方法は以下のような方法になります。

  1. プログラムを作る方向から着手するという方法
  2. 電子工作でラズパイクッキングから着手する方法
    • ラズパイに電源ボンタンをつける
    • ポータブル電源を作る
    • ディスプレイをつける
    • ステレオカメラを装着し入力を確認
    • Gitからソースをダウンロードしてビルド、起動を行うシェルスクリプトの作成

これでうまくやれるかどうかは自分のやる気次第といったところでしょうか?

でわでわ。。。