如果有人能告诉我在哪里可以获得用于Android开发OpenCV 2.4.3的优秀教程或文档,我将不胜感激。我已经浏览了OpenCv网站上的那个,它更多的配置和入门但不是真正的代码解释。我想要opencv for android代码,函数以及这些函数解释的内容。 Android上的opencv是用Java cv编写的还是使用Java Native Interface包含的本机C ++代码?
如果它是Java cv那么我在哪里可以得到一个可以让我开始的好教程。 如果它是JNI附带的C ++代码,我如何将这些Native代码与原始的Android java代码接口?
我真的很感激如果有人可以向我展示一些好的教程或文档(如果有的话)?如果不是,我想请你的解释? 最好的问候。
修改
感谢Torcelite的回复。你能解释一下我将如何将代码移植到java(更多细节)吗?是否有一个很好的教程可以解释我是如何做到这一点的。我的意思是当我移植代码时,我对我为桌面应用程序所做的原始openCV代码做了哪些更改,如果有的话。或者我只是将C ++代码移植到Android eclipse上的Visual Studio的开放式CV中,以便在Android上使用Open cv。
例如,在我的面部检测代码中,我使用了haar分类器及其内置的对象检测功能。
function--->[cvHaarDetectObjects( , , , , , , )
//just deleted the parameters for simplicity]
所以,当我想在android上做同样的事情时,我会在使用此功能时进行更改还是按原样进行更改?当我必须在Android上移植或采用这些和其他功能以使它们工作时我应该做什么样的工作。不仅是这个功能,还有OpenCV中的所有功能。
答案 0 :(得分:3)
我讨厌打破它,但OpenCV for Android直到现在还没有引起太多关注。我自己并没有完全弄清楚这些功能和算法。我确实创建了一个小image comparison optimization tool。另外,我建议你从这个book学习OpenCV。您只需要用Java移植代码。
从C ++“移植”代码到JAVA意味着将C ++中的代码转换为JAVA,即你正在改变语法。
P.S - 我的代码没有使用FlannMatcher,这不是完整的代码移植,但它是要点。您的语法发生了变化,但算法保持不变。
答案 1 :(得分:2)
如果您对文档不满意,我所知道的所有关于opencv的书籍(那里没有那么多)你可以在以下2个链接中找到它们。
有一个特定的关于Android - “使用OpenCV的Android应用程序编程”。除官方文档外,它可能是最好的来源。
http://www.packtpub.com/search?keys=opencv
OpenCV for Android(以及最近的桌面Java)与JavaCV无关,第一个是官方端口,基本上是C ++函数的JNI包装器。 JavaCV是独立研究员Samuel Audet早期的Java端口(正式属于OpenCV团队)。