1

我尝试将 OpenCV 集成到 GearVR 项目中,我的最终目标是使用 OpenCV 样本的“棕褐色”过滤器通过 GearVR 在“棕褐色”过滤器(以及后来的其他过滤器)中查看世界。

这是我的过程和我的问题:首先我按照“ https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-new-apps-intro/ ”创建一个从 VrTemplate 复制的新项目(示例包含在 oculus 移动 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-ready模板应用程序中。在“文件-新建-导入模块”之后,“文件-> Project Structure”选择左侧的“Android”模块(“Android”必须是模板给出的标准名称,而不是创建自己的新应用时的“app”)。“依赖项”选项卡->“+”-> “Module Dependency”并选择我刚刚添加的 openCVLibrary310。这里出现错误“Error:Configuration with name 'default' not found.”,这将一直伴随着我直到结束。教程的第 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\VrSamples\Native\VrAndOpenCVApp\Projects\Android\build.gradle" ,我在其中调整 compileSdkVersion、buildToolsVersion、defaultConfig/minSdkVersion 和 defaultConfig/targetSdkVersion 的值

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
    }

.

同步 Gradle 文件后,出现错误“错误:找不到名称为‘默认’的配置。” 遗迹。我不知道如何获取有关此错误的更多信息,谷歌搜索给了我一些建议,但我不确定我是否错误地应用了它们,或者它们是否不适用于我的问题。

我试过了:

  • 更改构建工具、目标和编译的 sdk 版本(oculus mobile sdk 附带的 gradle 包装器使用的 gradle 版本似乎是 1.5.0)
  • 按照教程的建议将它链接到一个新的应用程序,这很有效并且很容易。项目结构看起来不同。我有屏幕截图,但不能发布它们,因为我在这里的帐户是新的。

模板项目文件夹中openCVLibrary310的build.gradle

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(忽略构建工具,我只是在测试不同的工具)

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'
4

0 回答 0