2

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

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

我已经创建了项目并添加Android library referenceproject properties. 正如每个示例项目所做的那样。但是“他们”得到绿色勾号,但我首先得到绿色勾号,但是当我再次输入属性时出现红色十字:

我的项目: 在此处输入图像描述

示例项目:

在此处输入图像描述

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

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

在此处输入图像描述

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

例子:


结果:

在此处输入图像描述

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

4

3 回答 3

3

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

如果您想使用 tegra 开发人员包,请将您的工作区目录设置为示例目录:Tegra\OpenCV-2.4.3.2-android-sdk-tadp\samples

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

于 2013-05-18T19:25:58.243 回答
2

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

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

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

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

于 2014-03-31T15:59:11.287 回答
0

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

于 2013-05-18T19:08:41.843 回答