Android opencv库引用无法正常工作

时间:2013-05-18 19:00:04

标签: java android opencv import buildpath

起初我想说我正在工作5个小时来解决这个问题,我很努力地描述它,如果有什么不清楚请告诉我。

我已下载了Tegra Developer Pack导入的Open CV 2.4.3图书馆项目以及适用于我的设备Samsung Galaxy Note 2的示例项目。我已经尝试了很多方法来使我的opencv项目工作,但他们没有。

我已创建项目并在Android library reference中添加了project properties。每个样本项目都完成了它。但是“他们”得到了绿色的勾号,但我最初得到的是绿色勾号,但是当我再次输入属性时,会出现红叉:

我的项目: enter image description here

示例项目:

enter image description here

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

我还试图通过添加jar文件来构建这样的路径来导入OpenCv。

enter image description here

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

实施例:       


结果:

enter image description here

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源代码

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:2)

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

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

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

[P.S。我知道这是一篇旧帖子,但其他人可能会觉得我的回复很有用。]

答案 2 :(得分:0)

你可以将'你的'项目建立在'他们'的项目上,而不是从头开始,因为你说'他们'的项目建设得很好吗?