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

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

Java OpenCVのチュートリアルをやるために

イントロダクション

今までもOpenCVには触れたのですが、機械学習までやらなかったので今回は機械学習めがけてやっていこうと思います。参考にするサイトはこちらです。

  1. Java OpenCV 環境セットアップ(on Mac)
  2. Java OpenCv Lv1 〜入門写真の表示〜
  3. Java OpenCV Lv2 〜画像を表示する〜
  4. Java OpenCV Lv3 〜画像の平滑化(smooth())

TensorFlowでわかったこと

  1. 学習用データを読み込むがそれは画像データと似ている(数値型の配列)
  2. 学習モデルを組めるようにならないと自力で使うことができない
  1. Tensorflow Keras〜初めのトレーニング_1
  2. Tensorflow Keras〜初めのトレーニング_2:前処理〜
  3. TensorFlow Keras〜テキストの分類〜

OpenCVでやること

  1. 機械学習の元になるKNNやコンボリューションを理解する
  2. 画像の変換などで使用する「アルゴリズム」について理解を深める
  3. これらのアルゴリズムを使用して学習モデルを組めるようになる(理想)

ここら辺をターゲットにして学習していこうと思っています。

でもその前に。。。

参考にするチュートリアル(Java版)はJavaFXを使用しています。なので作成できたらスタンドアロンアプリケーションとして使うことができます。

トーゼンプラットホームは選びません。(Javaですから)

ちょっとJavaFXの復習をしてからチュートリアルをやりました。

ただし、FXMLと言うものを使用するので下のリンクのように全て作成するようなことはしません、付随するツールなどを使用します。無料です。

  1. EclipseにSceneBuilderを追加する
  2. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
  3. Java OpenCv Lv1 〜入門: 写真の表示〜
  4. Java OpenCV Lv2 〜JavaFXでの画像表示〜
  5. Java OpenCv ビデオキャプチャ〜カメラからの入力を表示〜

チュートリアルのポイント

JavaFXでカメラからの入力を画面に表示して、もしくは画像(IMGファイル)を表示して画像データの分析(ヒストグラムの表示)などをやっている。これを基本にして

  1. フーリエ変換=「画像データの内容を理解する→3Dモデルにも使える」
  2. 顔検出と追跡=「ガンタンク自動照準機能で使用」
  3. 画像の輪郭抽出=「背景除去など」
  4. オブジェクト検出=「対象物を画像から切り抜く」
  5. カメラキャリプレーション=「パターン認識

内容のトピックだけ見てみると「機械学習」でもよく聞く言葉が出てきています。

ちなみに「ガンタンク〜」は機会を見て作ろうと思っている機能です。

サイトマップ

zenryokuservice.com