【问题标题】:Android opencv library reference is not working correctlyAndroid opencv 库参考无法正常工作
【发布时间】:2013-05-18 19:00:03
【问题描述】:

起初我想说我工作了 5 个小时来解决这个问题,我非常努力地描述它,如果有不清楚的地方请告诉我。

我已经下载了Tegra Developer Pack 导入的Open CV 2.4.3 库项目和示例项目,它们非常适合在我的设备Samsung Galaxy Note 2 上使用。我已经尝试了很多方法来让我的 opencv 项目工作,但他们没有。

我创建了项目并在project properties 中添加了Android library reference。正如每个示例项目所做的那样。但是“他们”得到绿色勾号,但我一开始得到绿色勾号,但是当我再次输入属性时出现红十字:

我的项目:

示例项目:

最后我的项目充满了错误(无法导入类等),示例项目是干净的。

我也尝试通过添加它的 jar 文件来导入 OpenCv 来构建路径。

然后java 文件中的导入问题消失了,但任何包含 OpenCV 部件的xml 仍然无法工作。

示例:


结果:

The following classes could not be instantiated:
- org.opencv.android.JavaCameraView (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse

java.lang.ClassNotFoundException: org.opencv.R$styleable
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

....

奇怪的是,当我点击上面错误列表中的 Open Class 时,它会打开正确的 JavaCameraView 源代码

【问题讨论】:

    标签: java android opencv import buildpath


    【解决方案1】:

    好的,我终于找到了解决方法。

    如果您想使用 tegra developer pack,请将您的工作区目录设为示例目录:Tegra\OpenCV-2.4.3.2-android-sdk-tadp\samples

    或者可能总是复制导入的项目,不要引用它们。

    【讨论】:

    • 事实上,它不仅限于 Tegra 包,我在 ADT 包和每个构建的 Opencv4Android 上也遇到了同样的问题,它就像一个魅力
    【解决方案2】:

    实际上,问题出在 Eclipse 通过相对路径引用库项目这一事实。您可能从此处显示的示例项目中注意到了这一点(并且它有效)。

    从技术上讲,Eclipse 会为我们计算相对路径。不幸的是,当我们的项目和引用的库“不在同一个驱动器中”(例如,我们的项目在 C: 中,而库在 D: 中)时,它就无法做到这一点。

    因此,Windows 中的实际要求是我们将项目和引用的库放在同一个驱动器中,以便两者之间存在相对路径。

    [附注我知道这是一个旧帖子,但其他人可能会发现我的回复很有用。]

    【讨论】:

    • 这篇文章非常非常有用。
    【解决方案3】:

    您能否将“您的”项目建立在“他们的”项目之上,而不是从头开始,因为您说“他们的”项目构建良好?

    【讨论】:

    • 我试图复制示例项目,但即使是它的副本也不起作用。它缺乏进口。然后红叉也出现在副本上。
    • 我发现答案只有两件事与原始表单副本不同,项目名称和目录......以及示例目录和我的工作空间不同。
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多