【问题标题】:Using OpenCV GPU module in JAVA在 JAVA 中使用 OpenCV GPU 模块
【发布时间】:2018-01-02 12:47:51
【问题描述】:

我正在使用用于 java 的 OpenCV 图像处理库的打包版本(opencv java api by OpenCv)以便实时检测汽车的车牌。为了做到这一点,我必须获得最大可能的处理速度以获得更好的性能,所以我打算尝试将计算转移到 OpenCV 库添加的 GPU 中,自 2010 年以来,什么将OpenCV GPU module 称为c++ library,由NVIDIA-CUDA 支持。但是,经过大量研究,我发现opencv java api 的任何一个版本都不支持这个GPU 模块

那么问题是:

JAVA 中是否可以在没有此 GPU 模块的情况下将 OpenCv 处理过程移至 GPU?或者是否有任何 OpenCv 的包装版本支持 JAVA 中的此模块?或任何其他想法?!!

任何帮助将不胜感激。提前致谢!!

【问题讨论】:

  • OpenCV 还没有提供 Mat 对象的 GPU 类型,但是你可以看看 JavaCV,它是 OpenCV 的完整包装。
  • 我可以询问有关此的更新吗?同样的情况……仅在 2019 年

标签: java opencv image-processing javacv javacpp


【解决方案1】:

速度和 Java 是两个相反的方面,但如果你想通过 OpenCV 的 CUDA 版本加速操作,我会说写 JNI wrapper interface 以在你的 Java 代码中访问它们。

【讨论】:

  • 谢谢@Milind,抱歉,我现在不同意你的观点,java 可能是最快的高级语言之一,特别是如果你知道如何以最高性能使用它......此外,我知道我可以包装自己的版本,但那将是我最后的选择。
  • @HMaster 能比C/C++快吗?此外,除了进行 JNI 调用之外,没有其他方法可以调用 CUDA API。
  • 再次感谢@Milind,当然,它不能比 C/C++ 快,但它的效率更高,关于 JNI 调用,我同意这是与 CUDA 或任何其他 C/C++ 库,但我正在寻找一个已经打包的 OpenCV 版本,它支持 GPU,而不是自己编码(当我找不到其他简单的选择时我会这样做)。无论如何,我非常感谢您的回复,谢谢
猜你喜欢
  • 1970-01-01
  • 2020-12-25
  • 2013-07-14
  • 2016-05-27
  • 1970-01-01
  • 2015-10-09
  • 2016-08-01
  • 1970-01-01
  • 2016-05-19
相关资源
最近更新 更多