首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++与Java通信在图像处理中的应用

C++与Java通信在图像处理中的应用
EN

Stack Overflow用户
提问于 2014-09-29 09:27:41
回答 3查看 409关注 0票数 1

我得建立一个图像处理软件。我使用java来显示图像和c++,以实现应用程序的功能。很明显,图像将从C++发送到java,反之亦然。我不知道该选择哪种方法来通信c++和java。我研究并做了大量的研究,最后发现了3种方法:

  1. JNI(java本地接口)
  2. 管道
  3. 套接字。选择哪种方法更好?我必须处理高达10 HD的高清图像。请帮帮我伙计们。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-29 11:41:45

我也在同一问题上工作。作为一种专业的方式,使用JNI从java调用C++ DLL是我上一次基准测试的最佳方法。JNA是另一种方式,但它速度较慢,而且对于某些功能,如双向对象映射和传递引用问题的机会也较少。10 MB对于它来说也是很小的,我用2GB的图像来尝试它,JNI没有任何问题就成功了这个大文件(不要担心10 MB文件,JNI会给你更多)。您可以为您的功能编写一个C++ DLL,并且可以实现一个java接口来使用JNI调用它们。为此提出了一种新的备选方案,称为巴拿马项目。我认为JNI是最好的方式到巴拿马完成日期,我们将看到巴拿马将是最好的,或JNI将保持目前的位置。

票数 1
EN

Stack Overflow用户

发布于 2014-09-29 09:52:03

如果c++应用程序可以作为命令行应用程序安装和访问(例如: FFMpeg、MLT等),请遵循以下步骤.

  1. 在Java中使用运行时进程执行c++来访问Runtime.exec()应用程序。这将节省你很多的精力,比其他选择。
  2. 队列实现以简化集群处理环境中的执行(当您的流量很高时)
  3. 运行时进程执行的错误处理/日志记录

参考资料:调用via命令行与JNI

票数 1
EN

Stack Overflow用户

发布于 2014-09-30 11:02:03

出于性能原因,JNI是绝对必须的。然而,它的使用非常不方便,所以这就是为什么我在JNI之上创建了工具,以方便使用C++:JavaCVJavaCPP的JNI。我最初开发它们是为了我自己的Java图像处理目的,所以它们应该非常适合您自己的目的。查看ProCamTracker演示视频,我用它们构建的应用程序。它实时工作很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26096614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档