Project

General

Profile

Základní informace

Máme dodat řešení, které umožní vložit 2D a 3D objekty reprezentující historické elementy do obrazu reálného světa. Řešení poběží na platformě Android. Nemusíme dodat celé řešení, pouze dema řešící klíčovou funkcionalitu. Budeme se podílet i návrhu ovládání (základního konceptu).

Projekt musí být dokončen do konce září 2015.

GIT repositář

K nalezení na adrese http://aurel.mendelu.cz/git/historybrowser.git, zároveň je napojen i na tento projekt v Redmine.

Rozchození

Čerpal jsem z návodu: http://blog.hig.no/gtl/2014/08/28/opencv-and-android-studio/

Prerekvizity:

Návod:

1. Rozbalit OpenCV

2. Vytvořit nový projekt v Android Studiu, vybrat např. API 15, šablona např. Blank Activity, vhodně pojmenovat první aktivitu

3. Otevřít složku nově vytvořeného projektu a vytvořit v ní novou složku "libraries"

4. Otevřít složku "libraries" a otevřít si složku s rozbaleným OpenCV. Zkopírovat složku "/opencv/sdk/java" do "/libraries/" a přejmenovat složku "/libraries/java/" na "opencv"

5. Ve složce "/libraries/opencv" vytvořit soubor "build.gradle" a zkopírovat do něj tento kód:

apply plugin: 'android-library'

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:0.12.2'
  }
}

android {
  compileSdkVersion 19
  buildToolsVersion "19.1.0"

  defaultConfig {
    minSdkVersion 8
    targetSdkVersion 19
    versionCode 2490
    versionName "2.4.9"
  }

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      resources.srcDirs = ['src']
      res.srcDirs = ['res']
      aidl.srcDirs = ['src']
    }
  }
}

6. V souboru "settings.gradle", který se nachází v kořenovém adresáři Android Studio projektu, přidat řádek:

include ':libraries:opencv'

7. V Android Studiu, kde je otevřený projekt (nemusel být, mohl být, je to jedno) spustit volbu z menu "Tools/Android/Sync Project with Gradle files". Sledovat spodní stavovou lištu, kde je oznamován stav syncu. Pokud se tam objeví "Gradle build finished...", je vše v pořádku. Pokud ne, začít odznovu.

8. Jít do menu "File/Project Structure" v Android Studiu, nalevo vybrat modul "app" a poté vybrat záložku "Dependencies". Dole kliknout na +, vybrat "Module dependency", vybrat ":library:opencv" (mělo by tam už být jako jediný modul) a potvrdit. Pomocí OK zavřít okno.

9. Ve složce s projektem a dále v podsložce "/app/src/main/" vytvořit složku "jniLibs" a do ní zkopírovat obsah složky "/sdk/native/libs/", která se nachází v rozbaleném OpenCV (budou to 4 jiné složky, ve kterých jsou .so soubory).

10. Znovu provést postup z bodu 7 a poté spustit z menu "Build/Make Project". Pokud se nevyskytla žádná chyba, bude v projektu funkční OpenCV.

11. Do MainActivity před metodu onCreate pastnout kód pro slinkování opencv kompilátorem: 

static {
        System.loadLibrary("opencv_java");
    }