イントロダクション
前々回に、家計簿アプリのグラフ部分を作成が一区切りついたので今度は入力部分を作成しようとOpenCvに着手しました。
今までにやってきたこと
そして、入力部分は手入力を行いたくないのでアプリケーションに入力させようと思うのです。つまり、アプリのユーザーはレシートの写真をとるだけ(カテゴリの追加などは別です)という仕様にしようと思い現在に至る次第です。
まずは、OpenCv in Javaと、JUnitのセットアップを行いました。
OpenCvを学ぶ
画像から文字を取得することが最優先なのですが、なんだかんだと初めから学ぶことになりそうなので初っ端から学び始めてしまおうと思います。※OpenGLをやった時に途中から学んだけど初めからやり直しました。。。
参考にするサイトはこちらです。
OpenCVのチュートリアルを掲載しているサイトです。
OpenCVチュートリアル
このサイトでは、JavaFXを使用して以下のことを行っています。
- OpenCV(Javaバインド)のインストール
- OpenCV を使用した初めての Java アプリケーション
- OpenCV の基礎
- フーリエ変換
- 顔の検出と追跡
- 画像セグメンテーション
- 物体検出
- カメラのキャリブレーション
ここで使用するツール
SceneBuilderを使用します。
使用したときの動画です。GUIで画面の作成ができます。HTMLをGUIでつくるのに似ています。
画像を表示する
上のツイート画像にある様にその本に書いてあることを実行します。よくわからなかったら、とりあえず進んで見れば良いのです。
※危険な事は神経質になった方が良い、痛い目にあいます。。。
そんなわけで、上記の18ぺーじにC/C++で書かれたソースがあります。そいつをJavaに書き換えて実行します。
駄菓子菓子、OpenCV3.XからはImShowメソッドが、HightGUIが使用できない(しない)仕様になったということで。。。
JavaFXで実装します。続きは以下参照でお願いします。
Eclipse SceneBuilderを追加する – PGボックス
JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~ – PGボックス
関連ページ一覧
- Java OpenCV 環境セットアップ(on Mac)
- Java OpenCv Lv1 〜入門: 写真の表示〜
- Java OpenCV Lv2 〜画像を表示する〜
- Java OpenCV Lv3 〜画像の平滑化(smooth())〜
- Java OpenCV Lv3 〜画像にガウシアンフィルタ(GaussianBlur())〜
- Java OpenCV Lv3 〜画像に中央値フィルタ(medianBlur())〜
- Java OpenCV Lv4 〜画像の中身をみてみる〜
- Java OpenCV Lv5 〜Matクラスで描画処理〜
- Java OpenCV Lv6 〜Matクラスで背景から作成してみる〜
- Java OpenCV Lv7 〜MatクラスでEllipseしてみる〜
- Java OpenCV Lv9 〜画像編集「足し算」(cvAdd)〜
- Java OpenCV Lv9 〜画像編集「引き算」(cvSubtract)〜
- Java OpenCV Lv9 〜画像の掛け算〜
- Java OpenCV Lv10 〜行列演算Mat#submat()〜
- Java OpenCv Lv10〜画像の平均値をだす〜