Как интегрировать OpenCV 3.1.0 в Oculus Mobile SDK 1.0.3, образец "VrTemplate" [Android Studio, Win8, GearVR]
Я пытаюсь интегрировать OpenCV в проект GearVR, и моей целью было использование фильтра "сепия" из образца OpenCV, чтобы увидеть мир в фильтре "сепия" (а затем и другие фильтры) через GearVR.
Вот мой процесс и моя проблема: Сначала я следую " https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-new-apps-intro/", чтобы создать новый проект, скопированный из VrTemplate (пример входит в Oculus Mobile SDK). Запуск его через build.cmd работает, создавая на экране 2 искривленных зеленых "круга", готовых для GearVR.
Затем я открываю Android Studio и "file-new-import project" и выбираю файл build.gradle во вновь созданном проекте (C:\Dev1\ovr_sdk_mobile_1.0.3\VrSamples\Native\VrAndOpenCVApp\Projects\Android\build.gradle) VrAndOpenCVApp - это имя проекта, который я создал ранее.
Запуск его через Android Studio тоже работает.
Теперь я хочу OpenCV 3.1.0 и следую этому руководству: " https://chmod600blog.wordpress.com/2016/02/22/how-to-add-opencv-3-1-0-to-android-studio/". Я проверил это, сначала создав новое приложение, и этот процесс прост и работает. Однако теперь я должен получить его в готовом шаблонном приложении GearVR. После "File-New-Import Module", "File -> Project Structure" выбирая модуль "Android" слева ("Android" должно быть стандартным именем, заданным шаблоном, а не "app" при создании нового собственного). приложение). Вкладка "Зависимости" -> "+" -> "Зависимость модуля" и выбор openCVLibrary310, который я только что добавил. Здесь ошибка "Ошибка: Конфигурация с именем" default "не найдена". Появляется, который останется со мной до конца. Шаг 12 учебного руководства, и я открываю "C:\Dev1\ovr_sdk_mobile_1.0.3\VrSamples\Native\VrAndOpenCVApp\Projects\Android\openCVLibrary310\build.gradle" и "C: \ Dev1 \ ovr_sdk_mobile_1.0.3 \ Vative. Vsamples \Projects\Android\build.gradle", где я настраиваю значения compileSdkVersion, buildToolsVersion, defaultConfig/minSdkVersion и defaultConfig/targetSdkVersion
android {
compileSdkVersion 19
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
}
,
После синхронизации файлов Gradle появляется сообщение об ошибке "Ошибка: Конфигурация с именем" default "не найдена". остается. Я не знаю, как получить больше информации об этой ошибке, Google дал мне несколько советов, но я не уверен, что применил их неправильно или они не относятся к моей проблеме.
Я старался:
- изменение buildtools, target и скомпилированной версии sdk (используемая версия gradle выглядит как 1.5.0 упаковщиком gradle, который поставляется вместе с oculus mobile sdk)
- связывая его с новым приложением, как подсказывает учебник, это работало и было легко. Структура проекта выглядит иначе. У меня есть скриншоты, но я не могу опубликовать их, потому что мой аккаунт здесь новый.
build.gradle из openCVLibrary310 в папке шаблона проекта
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
build.gradle из шаблона приложения (игнорируйте buildtools, я просто тестирую разные)
apply plugin: 'com.android.application'
apply from: "${rootProject.projectDir}/VrApp.gradle"
dependencies {
compile project(':VrAppFramework:Projects:AndroidPrebuilt')
compile project(':VrAppSupport:SystemUtils:Projects:AndroidPrebuilt')
compile project(':VrAppSupport:VrGUI:Projects:AndroidPrebuilt')
compile project(':VrAppSupport:VrLocale:Projects:AndroidPrebuilt')
compile project(':VrAppSupport:VrSound:Projects:AndroidPrebuilt')
//compile project(':VrSamples:Native:VrAndOpenCVApp:Projects:Android:openCVLibrary310') //same error
compile project(':openCVLibrary310')
}
android {
project.archivesBaseName = "VrAndOpenCVApp"
defaultConfig {
applicationId "com.daprlab.VrAndOpenCVApp"
}
compileSdkVersion 23
buildToolsVersion '24.0.0'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['../../java']
jniLibs.srcDir 'libs'
res.srcDirs = ['../../res']
assets.srcDirs = ['../../assets']
}
}
}
settings.gradle шаблона проекта
rootProject.projectDir = new File(settingsDir, '../../../../..')
rootProject.name = "VrAndOpenCVApp"
include ':', \
'VrApi:Projects:AndroidPrebuilt', \
'VrAppFramework:Projects:AndroidPrebuilt', \
'VrAppSupport:VrLocale:Projects:AndroidPrebuilt', \
'VrAppSupport:VrSound:Projects:AndroidPrebuilt', \
'VrSamples:Native:VrAndOpenCVApp:Projects:Android', \
'VrAppSupport:SystemUtils:Projects:AndroidPrebuilt', \
'VrAppSupport:VrGUI:Projects:AndroidPrebuilt'
include ':openCVLibrary310'
settings.gradle на верхнем уровне
rootProject.projectDir = new File(settingsDir, '.')
rootProject.name = "OculusRoot"
include ':VrApi:Projects:AndroidPrebuilt', \
':VrAppFramework:Projects:AndroidPrebuilt', \
':VrAppSupport:SystemUtils:Projects:AndroidPrebuilt', \
':VrAppSupport:VrLocale:Projects:AndroidPrebuilt', \
':VrAppSupport:VrSound:Projects:AndroidPrebuilt', \
':VrAppSupport:VrGUI:Projects:AndroidPrebuilt'
include ':LibOVRKernel:Projects:Android', \
':VrAppFramework:Projects:Android', \
':VrCapture:Projects:Android', \
':VrApi:Impl:Projects:Android', \
':VrApi:Loader:Projects:Android', \
':VrAppSupport:SystemUtils:Projects:Android', \
':VrAppSupport:VrGUI:Projects:Android', \
':VrAppSupport:VrLocale:Projects:Android', \
':VrAppSupport:VrModel:Projects:Android', \
':VrAppSupport:VrSound:Projects:Android'
include ':openCVLibrary310'