
之前我和OpenCV一起使用过Android,而我一直试图做的是尽可能少地使用我的本机代码和我的java代码之间的调用.当我看到适用于AndroID的OpenCV port时,看起来他们只是为每个本机函数创建一个包装函数,并从java调用它们.现在,除非我完全误解swig包装器的原理和这个端口的整个想法,这不会比在本机代码中进行实际编码慢得多吗?我注意到在本机代码和java代码之间传递数据真的很慢,所以我不明白为什么它似乎是这个端口中最正常的东西.
我自己使用它,但我只是决定忽略所有的包装器并按原样使用代码,并使用AndroID教程提供的常规方法创建自己的包装器.
所以我的问题是,我对错误的看法是错的吗?或者他们实际上是在那里使用OpenCV的真正优势是什么?我知道这些问题有点不正式,但我希望你们可以帮助我.
最佳答案我无法给你你正在寻找的答案,但这就是我的想法:有很多JNI层的例子包含每个本机函数 – OpenGL,AndroID的Canvas等.通过JNI调用比完全用本机工作要慢代码,但问题是它对具体应用程序有什么影响吗?我相信在大多数情况下,与在本机函数中花费的时间相比,这个时间的惩罚是可忽略的.但是我赞成在AndroID应用程序的本机代码中尽可能多地完成工作,主要不是因为执行速度更快,而是因为与C和C相比,Java语言笨拙. 总结以上是内存溢出为你收集整理的关于Android OpenCV端口的任何缺点?全部内容,希望文章能够帮你解决关于Android OpenCV端口的任何缺点?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)