【问题标题】:Implementing ASIFT in Android在 Android 中实现 ASIFT
【发布时间】:2012-10-18 04:55:16
【问题描述】:

我是 openCV 和 Android 的新手。我必须检测项目中的对象。所以,我决定使用 ASIFT 来做同样的事情。但是,他们给here 的代码非常冗长。它包含很多 C 文件。它也有doesn'topenCV support

SO 本身的一些搜索表明它是easier to connect openCV 库的ASIFT 代码,但我can't 弄清楚如何做到这一点。谁能帮助我提供一些链接或告诉我应该使用哪些步骤将 ASIFT 添加到我的 openCv 库中,以便我可以进一步利用它来制作我的 Android 应用程序?

另外,我想知道使用Android NDK along with JNI 调用C 文件或使用Android SDK along with binary package 进行我的android 项目(对象检测)是否适合我?

【问题讨论】:

  • 为什么是 -1 ?我的问题有什么问题?
  • 在此处发布问题之前请阅读常见问题解答。主要是,你不应该问给我步骤/给我代码问题,但是我试过这个,但是我有这个特定的编程问题。喜欢:我正在努力将 ASIFT 连接到 OpenCV,我试图将它们编译在一起,但我有这个___错误。
  • 回答您的问题,由其创建者发布的 ASIFT 是在 Python 中实现的。因为 OpenCV 有 Python 绑定,你可以在台式电脑上,在 Python 脚本中一起使用它们,但要在手机上使用它们,你必须用 C++ 重写代码。
  • @vasile 有关您的信息,请查看问题中给出的链接或谷歌搜索。 python、c、c++、qt等的代码已经可用。我只是问我应该如何开始?
  • @Arpita...您能告诉我们更多关于您的对象检测要求的信息吗?如果它只是关于特征检测,那么您可以尝试 OpenCV 中已有的 SURF、SIFT、ORB、FAST 和其他特征检测器,直到您特别需要仿射不变量...这里有一些 docs.opencv.org/modules/features2d/doc/…

标签: opencv android-ndk android-2.2-froyo asift


【解决方案1】:

最后,我通过使用 ASIFT 开发人员网站上提供的源代码解决了我的问题。我将所有源文件压缩在一起,使用 make 制作我自己的库。然后我使用 JNI 从库中调用了所需的函数。

它对我有用,但在 Android 设备上执行大约需要 2 分钟。有人对减少运行时间的方法有所了解吗?

【讨论】:

  • 任何需要有关实施帮助的人都可以在这里发表评论
  • 我也在寻找它的实现。告诉我如何制作库文件
  • @Arpita:嗨,arpita,你的实现也适用于 C++ 吗?你能分享一下吗?谢谢
【解决方案2】:

他们使用了非常简单且缓慢的蛮力匹配(仅用于证明概念)。你可以使用 FLANN 库,它会有很大帮助。 http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    相关资源
    最近更新 更多