Java OpenCv ビデオキャプチャ〜カメラからの入力を表示〜

イントロダクション

TensorFlowでの機械学習のチュートリアルを多少やりました。下にリンクにあるような感じでやりました。

 Javaでの実装は時間がかかるように思ったので、理解する方を優先してPythonでチュートリアル通りに実行しました。

詳細はわからなかった

チュートリアルでやったことはあくまでフレームワークとしてのTensorFlowの使い方なので、キモになる部分は、つまり、機械学習の中身はわからなかったと言うことです。

実装して、思った事は学習モデルに対する理解が必要だと思いました。

具体的には、以下の様に処理を行い計算結果からどの様な判断をするか?を考えられないと、学習処理などのデータ集め〜決定する処理が実装出来ませんで。

  1. テストデータを用意
  2. 学習処理を行う
  3. テストを行い学習のレベルを調整
  4. 返却値より判定を行う

じゃあどーするか?

OpenCvの機械学習から理解していこうと思います。OpenCvでは、画像データ(ピクセル値の行列)より前景と背景を分けるなど、データの分布を分割するための線(境界)を算出し、それに対する処理を行います。

これらの処理を行うのに使用しているのが、「畳み込み(Convolution)」です。TensorFlowで使っている畳み込みフィルターと同じ様なモノだと思い、これの理解から始めようという考えです

どこからやるのか?

JavaFxで途中までやっていたのですが、ちょっとバグっぽいのがあったので放置していたもの(GIT)を持ってきて再開しようと思います。

参考にしているサイトはこちらです。

前回までのOpenCv関連のやったこと

  1. EclipseにSceneBuilderを追加する
  2. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
  3. Java OpenCv Lv1 〜入門: 写真の表示〜
  4. Java OpenCV Lv2 〜JavaFXでの画像表示〜

その前にバグ退治をやります。

どこから改修しようかととりあえずは参照元ソースを見た所。。。

実装していない部分を発見、Mainメソッドのクラスにありました。。。どーりで気づかないわけだ。。。Conrollerクラスしか見てなかったもんなぁ。。。

そんなわけでコードを追加してやったらご覧の通り動きした。

次回からは、このチュートリアルの続きをやっていこうと思います。

そして次回は

カラーチャンネルについてやるようです。

下の方法での実装を始めました。

Android OpenCV 〜サンプルアプリを動かす〜


関連ページ一覧

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. Java Git clone in Eclipse 〜サンプルの取得〜
  3. Eclipse Gitリポジトリの取得 〜GitからソースをPullしよう〜
  4. IntelliJ IDEA Git〜Gitリポジトリからクローン〜
  5. Java Basic Level 1 〜Hello Java〜
  6. Java OpenCV 環境セットアップ(on Mac)