Skip to content

Latest commit

 

History

History
92 lines (59 loc) · 4.75 KB

README_JP.md

File metadata and controls

92 lines (59 loc) · 4.75 KB

OpenCV for Android library

English version is here.

これは何?

OpenCVは便利なライブラリですが、検索して見つかる導入方法は面倒であったりします。 また、ソースコードとバイナリの分離の観点からも、ひとつあたり数メガバイトのlibopencv_java3.soを複数コミットするということは回避したいところです。

本ライブラリは、OpenCVをGradleでお馴染みのdependenciesブロックに記述するだけで利用できるようになるライブラリです。

オリジナルSDKとの差異

OpenCVのDownloadsページより入手できるAndroid版SDKとは以下の点が異なります

  • 本ライブラリはdependenciesに記述するだけで使用できます
  • 本ライブラリでは、オリジナルSDKに含まれている一部のマイナーなABIは省かれています
  • 具体的には: mips, mips64, x86, x86_64 が含まれません
  • arm64-v8a, armeabi, armeabi-v7a は含まれます

使用方法

1. dependenciesブロックに以下を付け加える

dependencies {
    implementation "jp.seesaa.android:opencv:3.4.2.0"
}

NOTE: Sync Project with Gradle Fileすることを忘れずに。

2. Applicationクラスを継承したクラスに以下を付け加える

public class MyApplication extends Application {
    static {
        OpenCVLoader.initDebug();
    }
}

NOTE: OpenCVLoaderの代わりにSystem.loadLibrary("opencv_java3");と記述しても良い。

3. あとは普通に使うだけ。

ライブラリのメンテナンスについて

OpenCVのバージョンが上がったなどの理由で本リポジトリを修正する必要がある場合、以下の点に留意してください。

*.soファイルはGit LFSで管理されています

Gitリポジトリはテキストの差分管理には有用ですが、バイナリは不向きです。 そのため、サイズの大きなバイナリファイル(本リポジトリにおいては*.soファイル)はGit Large File Storageで管理しています。

とは言えあまり特別なことはなく、以下コマンドなどでgit-lfsをインストールしてから git clone すれば良いだけです。

$ brew install git-lfs

また、git pullなどをするだけだと、ファイルのポインターファイルだけが取得された状態になるので、git lfs pullも併せて行うと良いでしょう。

versionCode, versionNameの付け方について

versionCode及びversionNameは、Projectレベルのbuild.gradle(./build.gradle)にて管理されています。

(build.gradleにも書いてありますが)versionCode, versionNameには記入ルールを設けてあります。

versionNameは、OpenCVのバージョン名の末尾に、該当バージョンでの本ライブラリのリリース回数を付与した、4区切りのバージョンで管理します。 (例:OpenCVが2.4.11で、本ライブラリが2.4.11における初回リリースであるなら、2.4.11.0とします。3度アップデートを行った場合は、2.4.11.3とします。 OpenCV3.0.0にバージョンアップしたなら、リリース回数部分はリセットされ、3.0.0.0とします。)

versionCodeは、上記ルールに則ったversionNameより生成します。 まず、versionNameの4区切りをそれぞれ、[major].[minor].[hotfix].[revision]とします。

  • [revision]部は、0埋め2桁とします (例:01)
  • [hotfix]部は、0埋め2桁とします (例:11)
  • [minor]部は、0埋め2桁とします (例:04)
  • [major]部は、0埋めをしない桁数制限なし(高々3桁程度まで)とします (例:2)

その後、これを[major]部から[minor],[hotfix],[revision]部と順番に結合します。上記例で考えると、「2041101」となります。

Licenses

本ライブラリは三条項BSDライセンスの下で配布されているOpenCVのDownloadsページより入手したSDKソースコード・バイナリを調整の上、AARライブラリ化しております。 三条項BSDライセンスに則り、OpenCVのライセンス条項をアプリ内に明示することでお使いいただけます。

社内用に作成したものなので特に何も考えてないものの、ロジック類の特別な追記は行っておりませんのでライセンスにおける弊社の表記は不要です。