3

如果有人能告诉我在哪里可以获得用于开发适用于 Android 的 OpenCV 2.4.3 的优秀教程或文档,我将不胜感激。我已经浏览了 OpenCv 站点上的那个,它更多的是配置和入门,但没有解释真正的代码。我想要用于 android 代码、函数的 opencv 以及这些函数的作用。Android上的opencv是用Java cv编写的还是使用Java Native Interface包含的本机C++代码?

如果它是 Java 简历,那么我在哪里可以获得可以让我入门的好教程。如果它是 JNI 中包含的 C++ 代码,我如何将这些 Native 代码与原始 Android java 代码接口?

如果有人可以向我展示一些好的教程或文档(如果有的话),我将不胜感激?如果不是,我想请你解释一下?此致。

编辑:

感谢 Torcelite 的回复。您能否详细解释一下我将如何将代码移植到 java (比如更详细一点)?是否有一个很好的教程来解释我如何做到这一点。我的意思是当我移植代码时,如果有的话,我会对我为桌面应用程序所做的原始 openCV 代码进行哪些更改。或者我只是将 Visual Studio 的 open CV 上的 C++ 代码移植到 Android eclipse 中,以便在 Android 的 Open cv 上工作。

例如,在我的面部检测代码中,我使用了 haar 分类器及其内置的对象检测功能。

function--->[cvHaarDetectObjects( , , , ,  , , ) 
//just deleted the parameters for simplicity] 

因此,当我想在 android 上做同样的事情时,我会在使用此功能时进行更改还是按原样进行更改?当我必须在 Android 上移植或采用这些和其他功能以使它们工作时,我应该做什么样的工作。不仅是这个函数,还有 OpenCV 中的所有函数。

4

2 回答 2

3

我不想告诉你,但 Android 的 OpenCV 直到现在还没有得到太多关注。我自己还没有完全弄清楚函数和算法。不过,我确实创建了一个小型图像比较优化工具。另外,我建议你从这本书中学习 OpenCV 。您只需要在 Java 中移植代码。

从 C++ 到 JAVA 的“移植”代码意味着将 C++ 中的代码转换为 JAVA,即您正在更改语法。

所以,将变成这样

PS - 我的代码没有使用 FlannMatcher,这不是完整的代码移植,但它是要点。您的语法发生了变化,但算法保持不变。

于 2013-04-21T10:18:10.503 回答
2

如果您对文档不满意,我所知道的所有关于 opencv 的书籍(那里没有那么多)您可以在以下 2 个链接中找到它们。

有一个关于 Android的特定内容- “使用 OpenCV 进行 Android 应用程序编程”。除了官方文档之外,它可能是最好的来源。

http://opencv.org/books.html

http://www.packtpub.com/search?keys=opencv

Android 的 OpenCV(以及最近的桌面 Java)与 JavaCV 无关,第一个是官方端口,它基本上是 C++ 函数的 JNI 包装器。JavaCV 是独立研究员 Samuel Audet 对 Java 的早期移植(因为它不正式属于 OpenCV 团队)。

于 2014-01-19T01:05:05.393 回答