Wie zu verwenden opencv in die Verwendung von Gradle?
Will ich mit Android Studio entwickeln Sie eine app mit Gradle build-tool. Ich kann nicht fügen Sie die OpenCV-repo und Bibliothek auf build.gradle
. Meine .gradle
- Datei ist wie folgt:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
Wie kann ich OpenCV in meinem Projekt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hierzu können Sie sehr leicht in Android-Studio.
Befolgen Sie die nachstehenden Schritte zum hinzufügen Öffnen CV in Ihrem Projekt als Bibliothek.
Erstellen Sie eine
libraries
- Ordner unter Ihrem Projekt-Hauptverzeichnis. Zum Beispiel, wenn Ihr Projekt istOpenCVExamples
erstellen Sie eineOpenCVExamples/libraries
Ordner.Gehen Sie zu dem Ort, wo Sie SDK "\OpenCV-2.4.8-android-sdk\sdk" hier finden Sie die
java
Ordner, benennen Sie es umopencv
.Kopieren Sie nun die komplette opencv-Verzeichnis vom SDK in den Ordner "libraries", die Sie gerade erstellt haben.
Erstellen Sie nun eine
build.gradle
Datei in deropencv
- Verzeichnis mit folgendem InhaltBearbeiten Sie Ihre Einstellungen.gradle-Datei im Hauptfenster der Anwendung-Verzeichnis und fügen Sie diese Zeile:
Synchronisieren Sie Ihr Projekt mit Gradle und es sollte etwa so Aussehen
Rechten Maustaste auf Ihr Projekt klicken Sie dann auf die
Open Module Settings
dann Wählen Sie die Module aus der linken Liste, klicken Sie auf Ihre Anwendung Modul, klicken Sie auf die Registerkarte Abhängigkeiten, und klicken Sie auf die Schaltfläche+, um ein neues Modul hinzufügen Abhängigkeit.Wählen Sie
Module dependency
. Es öffnet sich ein dialog mit einer Liste der Module, zum von zu wählen; wählen Sie ":Bibliotheken:opencv".Erstellen Sie eine
jniLibs
Ordner in der/app/src/main/
Speicherort und kopieren Sie alle Ordner mit *.so Dateien (armeabi, armeabi-v7a, mips, x86) in derjniLibs
aus der OpenCV-SDK.Klicken Sie auf OK. Jetzt ist alles erledigt, gehen Sie und genießen Sie mit OpenCV.
UnsatisfiedLinkError: Native method not found: org.opencv.features2d.FeatureDetector.create_0:(I)J
. Weißt du, was kann der Grund sein?OpenCV for Android
link hier. Es klingt wie Sie haben können, schnappte sich der falsche. Wie von Android OpenCV 2.4.9 konnte ich den Ordner finden insdk/java/
.if(OpenCVLoader.initDebug()){ //your openCV code here }
jniLibs
Ordner in die OpenCV-SDK. Nach einigen suchen habe ich den Ordner mit den *.also Dateien, aber Sie waren in dieses Verzeichnis:OpenCV-3.0.0-android-sdk-1\OpenCV-android-sdk\sdk\native\libs
Könnte es nur sein, dass ich mit einer neueren version der OpenCV-SDK?jniLibs/
außerarmeabi-v7a/
. Nun meine signierte Version .apk-5.7 MB. Aber das entfernen dieser Ordner bedeutet, dass nicht jedes Gerät unterstützt wird, richtig? Ich Frage mich, ob es irgendeine andere Art und Weise...Als pro OpenCV Doku(Eins), unten die Schritte mit OpenCV manager ist die empfohlene Art der Verwendung von OpenCV für Produktion läuft. Aber, OpenCV manager(Zwei) ist eine zusätzliche installieren von Google play store. So, wenn Sie lieber eine in sich geschlossene apk(nicht mit der OpenCV-manager) oder befindet sich derzeit in Entwicklungs - /Test - phase, ich schlage vor, die Antwort auf https://stackoverflow.com/a/27421494/1180117.
Empfohlenen Schritte für die Verwendung von OpenCV in Android Studio mit OpenCV manager.
File -> Import Module
wählen Siesdk/java
Ordner in dem entpackten opencv-Archiv.build.gradle
unter " importierte OpenCV-Modul update 4 Felder entsprechend Ihres Projektsbuild.gradle
a) compileSdkVersion b) buildToolsVersion c) minSdkVersion und 4) targetSdkVersion.Application -> Module Settings
, und wählen Sie dieDependencies
tab. Klicken Sie auf+
Symbol unten(oder rechts), wählen SieModule Dependency
und wählen Sie die importierte OpenCV-Modul.Als der Letzte Schritt, in der Activity-Klasse, add snippet unten.
Hinweis: Sie nur machen, OpenCV Anrufe, nachdem Sie Sie erhalten Erfolgs-callback auf
onManagerConnected
Methode. Während ausführen, werden Sie aufgefordert, für die installation des OpenCV-manager aus dem play store, wenn es nicht bereits installiert ist. Während der Entwicklung, wenn Sie keinen Zugang zum play store oder auf emualtor, verwenden Sie geeignete OpenCV manager apk vorhanden inapk
Ordner unter heruntergeladen OpenCV-sdk-Archiv .Profis
Nachteile
- Anwendung.
Wenn Sie nicht möchten, zu verwenden JavaCV dies funktioniert für mich...
Schritt 1 - Laden Sie die Ressourcen
Download OpenCV Android SDK von http://opencv.org/downloads.html
Schritt 2 - Kopieren der OpenCV-Binärdateien in das APK
Kopieren libopencv_info.so & libopencv_java.also von
OpenCV-2.?.?-android-sdk -> sdk -> native -> libs -> armeabi-v7a
zu
Project Root -> Your Project -> lib - > armeabi-v7a
Zip-lib-Verzeichnis und benennen Sie den Reißverschluss auf whatever-v7a.jar.
Kopieren Sie diese .jar-Datei und legen Sie es in hier in Ihrem Projekt
Project Root -> Your Project -> libs
Fügen Sie diese Zeile, um Ihre Projekte zu bauen.gradle in die Abhängigkeiten Abschnitt
compile files('libs/whatever-v7a.jar')
Beim kompilieren jetzt werden Sie wahrscheinlich sehen Ihre .apk ist über 4mb größer.
(Wiederholen Sie für "armeabi" wenn Sie möchten, unterstützt ARMv6 auch wahrscheinlich nicht mehr benötigt.)
Schritt 3 - Hinzufügen der java sdk für Ihr Projekt
Kopieren Sie die java-Ordner von hier
OpenCV-2.?.?-android-sdk -> sdk
zu
Project Root -> Your Project -> libs
(An gleicher Stelle wie Ihr .jar-Datei);(Sie können benennen Sie die "java" - Ordner-Namen 'OpenCV')
In diesem frisch kopierten Ordner fügen Sie einen typischen Aufbau.gradle-Datei; ich habe diese:
In deinem Projekt Root-Einstellungen.gradle-Datei, ändern Sie es auch in etwa so Aussehen:
include ':Project Name:libs:OpenCV', ':Project Name'
In Ihrem Projekt, Root -> Project Name -> bauen.gradle-Datei, in der die Abhängigkeiten Abschnitt fügen Sie diese Zeile:
compile project(':Project Name:libs:OpenCV')
Schritt 4 - Verwendung von OpenCV, die in Ihrem Projekt
Wieder aufzubauen, und Sie sollten in der Lage sein, zu importieren, und starten Sie mithilfe von OpenCV, die in Ihrem Projekt.
Ich weiß, das wenn ein bisschen hacken, aber ich dachte, ich würde post es trotzdem.
org.opencv
- das ist erkannt, aber wenn ich versuche zu importieren, z.B.org.opencv.android.OpenCVLoader
,android
wird rot Unterstrichen, als irgendwelche anderen Klassen, die ich versuchen und zu importieren. Was könnte schief gehen?gradlew assembleDebug
? Ich funktioniert bei mir mit Android Studio Version 0.5.1.gradlew initDebug
, jetzt sehe ich, es war nur das OpenCGVLoader, duh! Ok, ich vermute es ist ein Problem mit der Art und Weise der .so sind verpackt in Ihr .apk. Vielleicht post eine neue Frage auf SO ein Bild? Ich kann versuchen und zu helfen, mehr von dort.Da die integration von OpenCV ist eine solche Anstrengung, die wir, verpackte es und veröffentlichte es über JCenter hier: https://github.com/quickbirdstudios/opencv-android
Nur umfassen diese in Ihrem Modul zu bauen.gradle dependencies Abschnitt
und diese in Ihrem Projekt zu bauen.gradle-repositories, Abschnitt
Wirst du nicht bekommen lint-Fehler nach gradle import aber nicht vergessen, initialisieren Sie die OpenCV-Bibliothek, wie diese in der MainActivity
Ist dies für mich gearbeitet 🙂
Ich habe einen neuen Beitrag darüber, wie zu bauen ein Android-NDK-Anwendung mit OpenCV enthalten
mit Android Studio und Gradle. Mehr Informationen können gesehen werden hier, habe ich zusammengefasst zwei Methoden:
(1) führen
ndk-build
innerhalb von Gradle task(2) führen Sie
ndk-build
mit einem externen toolParameter:
NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1
Mehr Informationen können gesehen werden hier
Es funktioniert mit Android Studio 1.2 + OpenCV-2.4.11-android-sdk (.zip), zu.
Nur Folgendes tun:
1) Folgen Sie die Antwort, die beginnt mit "können Sie diese sehr leicht in Android-Studio. Befolgen Sie die nachstehenden Schritte zum hinzufügen von OpenCV, die in Ihrem Projekt als Bibliothek." von TGMCians.
2) Ändern Sie in der
<yourAppDir>\libraries\opencv
Ordner der neu erstelltenbuild.gradle
zu (Schritt 4 in TGMCians' Antwort, angepasst OpenCV2.4.11-android-sdk und die Verwendung von gradle 1.1.0):3) *.also die Dateien in die Verzeichnisse
"armeabi", "armeabi-v7a", "mips", "x86"
finden Sie unter (Standard-OpenCV-Lage):..\OpenCV-2.4.11-android-sdk\OpenCV-android-sdk\sdk\native\libs
(Schritt 9 in TGMCians' Antwort).Genießen und wenn das geholfen hat, bitte geben Sie eine positive reputation. Ich brauche 50, eine direkte Antwort zu Antworten (19, Links) 🙂
Dies sind die erforderlichen Schritte zum verwenden OpenCV mit Android Studio 1.2:
sdk/java
in das Verzeichnis, das Sie extrahiert werden, bevoropencv
compileSdkVersion
undbuildToolsVersion
zu Versionen, die Sie haben auf Ihrem RechnerHinzufügen
compile project(':opencv')
zu Ihrer app bauen.gradleDrücken - Sync-Projekt mit Gradle-Dateien
Habe ich importiert, das Java-Projekt aus der OpenCV-SDK in Android Studio gradle-Projekt und es gibt Sie in https://github.com/ctodobom/OpenCV-3.1.0-Android
Können Sie es auf Ihrem Projekt hinzufügen von nur zwei Linien in
build.gradle
Datei Dank jitpack.io service.Die OpenCV-Android SDK enthält ein Beispiel gradle.build-Datei mit hilfreichen Kommentaren: https://github.com/opencv/opencv/blob/master/modules/java/android_sdk/build.gradle.in
Folgende Berechtigungen und Funktionen notwendig sind, in der AndroidManifest.xml Datei ohne die Sie erhalten Folgendes Dialogfeld
"Es scheint, dass Ihr Gerät unterstützt keine Kamera (oder es ist gesperrt). Anwendung wird geschlossen"
OpenCV, Android Studio 1.4.1, gradle-experimentelles plugin 0.2.1
Keiner der anderen Antworten hat mir geholfen. Hier ist was für mich gearbeitet. Ich bin mit dem tutorial-1-Beispiel aus opencv aber ich werde mit dem NDK in mein Projekt also ich bin mit dem gradle-experimentelle - plugin, das hat eine andere Struktur als das gradle-plugin.
Android studio installiert sein sollte, der Android NDK installiert werden soll über den Android SDK-Manager, und die OpenCV Android SDK sollte heruntergeladen und entpackt.
Dies ist in Abschnitte von bash-Skript zu halten, kompakt aber komplett. Es ist auch alles auf der Kommandozeile, weil auf der großen Probleme, die ich hatte, war, dass die IDE Anweisungen waren überflüssig wie die IDE entwickelt.
Stellen Sie zuerst den Speicherort des root-Verzeichnis der OpenCV-SDK.
Erstellen Sie Ihre gradle-build-Dateien...
Zuerst die OpenCV-Bibliothek
Dann sagen Sie das tutorial-Beispiel, was zur Bezeichnung der Bibliothek, wie und wo es zu finden ist.
Erstellen der build-Datei für das tutorial.
Ihre build-tools version muss richtig eingestellt werden. Hier ist eine einfache Möglichkeit,
um zu sehen, was Sie installiert haben. (Sie können die Installation anderer Versionen über das
Android SDK Manager). Ändern buildToolsVersion, wenn Sie nicht haben 23.0.2.
Ändern Sie die Umgebungsvariable auf die erste Zeile, um die Versionsnummer Ihrer
Schließlich setzt die korrekte gradle wrapper. Gradle muss ein sauberes Verzeichnis
um dies zu tun.
Sollten Sie nun alle gesetzt. Nun können Sie zu diesem Verzeichnis wechseln mit Android Studio und öffnen Sie das Projekt.
Bauen das tutoral auf der Kommandozeile mit dem folgenden Befehl:
Sollte es bauen Sie Ihre apk-Datei zu erhalten, indem es in ./build/outputs/apk