デザインが苦手なWeb便利屋

やったこと備忘録。Webサーバ、DB、JavascriptとかLinuxとか。

Java OpenCV プログラム

OpenCV 3.1 eclipseでJavaでじゃばじゃば

投稿日:

画像加工のライブラリ

OpenCV(Open Source Computer Vision Library)を使用して画像加工を行ってみようと思い調べてみました。

C++、Python、Javaに対応と言う事で、この中である程度知識があるのはJavaのみ。
(画像加工の知識は0)

C++、Pythonはある程度の情報量がありますが、Javaは明らかにGoogle検索結果が少ない。
Ver2.xより、Ver3.xはさらに減る感じ。

自分の備忘録が強いですが、参考になると幸いです。

参考にさせていただいたサイト

開発環境

JDK(環境変数設定)とeclipseはインストール済みとして作業します。
Javaの開発環境が存在しない場合は、他のサイトを参考のうえ構築してください。

Java(JDK)

eclipse

  • Version: Mars.1 Release (4.5.1)

OpenCV

  • Version: 3.1 for Windows

環境構築

フォルダ構成等は適宜読み替えてください。
今回はOpenCVを【C:\opencv】に解凍します。

OpenCVの準備

  1. OpenCV公式ダウンロードよりOpenCV for Windows(2015-12-21)を保存します。(サイズは110MBぐらい)
    ダウンロードした「opencv-3.1.0.exe」を実行し、解凍先を指定します。
    01
  2. eclipseを起動。メニューのウィンドウ→設定をクリック(eclipseは日本語化しています)
    Java - Eclipse011
  3. 設定ウィンドウのJava→ビルド・パス→ユーザー・ライブラリ→新規ボタン押下
    ユーザーライブラリ名を任意に設定し、OKボタン押下
    スクロールキャプチャ016
  4. 追加したユーザー・ライブラリを選択し、外部Jar追加ボタン押下
    解凍先フォルダにあるjarを追加します。「C:\opencv\build\java\opencv-310.jar」
    JAR の選択019
  5. ネイティブライブラリの追加
    追加したjarのツリーを展開し、ネイティブ・ライブラリのロケーションを選択→編集ボタン押下
    設定021
  6. フォルダーの構成ウィンドウの、外部フォルダボタン押下し
    解凍先の「C:\opencv\build\java\x64」を指定し、OKボタン押下。
    (32bitの場合はx86になるのかな?)
    ネイティブ・ライブラリー・フォ022
    設定023

OpenCVを使う準備はここまでです。
実際に利用することが出来るか、サンプルを動かしてみましょう。

サンプル作成

さっそくプロジェクトを作成しましょう。
注意点は先程追加したユーザー・ライブラリの追加を行う事だけ。

プロジェクト作成

  1. ファイル→新規→Javaプロジェクト
    Java - Eclipse024
  2. プロジェクト名を入力し、次へボタン押下
    新規 Java プロジェクト026
  3. ライブラリータブ→ライブラリーの追加ボタン押下
    新規 Java プロジェクト028
  4. ユーザー・ライブラリーを選択し、次へ
    ライブラリーの追加029
  5. 作成したOpenCVライブラリを選択し、完了ボタン押下
    ライブラリーの追加030
  6. 追加されていることを確認し、完了
    新規 Java プロジェクト031

クラス作成

参考にさせていただいた「OpenCV を使ってみる ( Windows + Java )」に公開していただいてるソースを、ほぼそのままコピペ実行・・・!

ファイル名:Hello.java

OpenCVライブラリが正常に設定されていると、以下の標準出力に成功するはずです。

また14行目にて、ファイルを保存しています。
プロジェクトルートに[test.jpg]ファイルが存在すると思いますが、小さな画像ができていることが確認できます。
サンプルデータの為、画像自体は意味不明です。

OpenCVを利用できることが確認できましたので、環境構築の完了です。
お疲れさまでした。
次は顔認識を実装していきます。







-Java, OpenCV, プログラム
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

VisualStudio2013のデータソース選択時にSQLiteが表示されない

ADO.NET Entity Data Modelを追加しようとして・・・ VisualStudio2013でSQLite(EntityFramework)を扱おうとして、ハマった。 助けていただいた …

no image

windowsアプリでSQLiteの使用 | C# Visual Studio 2013

ローカルデータベース 簡単な販売管理システムを作成中で DBサーバを立てる事もできず、クライアントにDBファイルを作成して、色々とやろうと検討中。 完全に自分用メモ、お世話になったサイトまとめ。 候補 …

no image

Gitの使い方まとめ | 初心者におすすめ

Gitとは 一般的に、バージョン管理システムと呼ばれているものです。 比較対象としてCVSやSVNが集中型。 Gitは分散型と呼ばれています。 SVNから移行する際は、ローカルリポジトリが有るため一手 …

no image

文字列の連結 | Java StringとStringBuilder

文字の連結 JavaでStringを連結する場合の話です。備忘録。 私の素人頭で文字列の連結をすると、単純に+でつなぎます。

という感 …

CentOS7にjenkinsをyumインストール

前提条件 CentOS7 mini(Vagrant)でyum updateを実行しただけ 準備 Javaが必要なため、確認

入ってませ …

カテゴリー