【问题标题】:Image Processing via Standalone application通过独立应用程序进行图像处理
【发布时间】:2023-03-12 13:10:02
【问题描述】:

我正在开发一个项目来进行 基于内容的图像检索,其中前端将使用 java。

主要问题是关于选择执行图像处理的工具。由于 Matlab 为进行 CBIR 提供了很多功能。但是使用 Matlab 的主要问题是您需要在每台使用该应用程序的计算机上安装 Matlab。

有没有其他方法可以让我完成我的项目(使用其他工具或驱动程序),这样我的应用程序就可以在不使用任何其他工具的情况下运行???

或者我可以仅在 Matlab 中开发整个应用程序并将其部署为独立应用程序吗? 谢谢。。

【问题讨论】:

    标签: java matlab image-processing


    【解决方案1】:

    正如 carlosdc 所指出的,Matlab 是一个出色的原型设计工具。 Matlab 在 UI 编程方面提供了有限的选项。 GUIDE 适用于小型项目,但对大型项目的帮助大于帮助。

    使用MATLAB Builder JA,您可以将您的 Matlab 代码编译成 Java 类。

    关于实时绘制时间序列,JFreeChart 之类的库要慢得多。

    【讨论】:

      【解决方案2】:

      有很多图像处理库,例如Java:ImageJApache Commons 项目也有一个。如果您需要更高级别的计算机视觉库,可以使用 OpenCV for C++,例如,它还具有 Java 绑定。

      您也可以在 Matlab 中开发整个应用程序,但要部署一个独立的应用程序需要这需要 Mathworks Builder NE 的许可(这可能很昂贵)。 Matlab 非常适合用于研究和原型设计。

      还有其他适合快速原型设计的替代方案,例如 Python 和 PIL。

      我认为底线是有很多选择。

      【讨论】:

        【解决方案3】:

        Java image utilities library:一个用于加载、编辑、分析和保存像素图像文件的 Java 库。

        它支持各种文件格式。

        为命令行提供演示应用程序。它也有 AWT GUI 工具包。

        【讨论】:

          【解决方案4】:

          我认为OpenCV 是目前最好的图像处理库之一,但Java Advanced Imaging 也相当不错,但没有那么多功能和示例。在 JAI 中颜色相似性很简单,但形状可能会涉及更多代码。

          如果您选择使用 OpenCV,我认为您至少有两种可能的 Java 绑定实现。我的小组使用的是one。它有一些处理依赖项。

          无论您选择什么库,都要为一些挫折做好准备。 Matlab 用户已经习惯了它提供的所有不错的功能,当他们不得不将代码移植到其他语言时,他们不得不编写更多的代码。

          【讨论】:

          • 但是有一个问题..如果我使用 Matlab 进行特征提取,那么我可以将这些表示形式包装为类对象......那么我将如何编写更多代码?使用 Matlab 和 Java 连接可以吗?我还没有为 Matlab+ Java 连接编写任何代码.. 对我们来说会很好吗...
          • 如果将 .m 文件编译成 jar 文件,则可以在自己的 java 应用程序中使用这些 jar,而无需用 Java 编写特征提取代码。我提到要编写更多代码,以防您使用一些提到的框架而不是使用 Matlab。例如矩阵运算的代码(或为此目的使用一些 java 库)。
          【解决方案5】:

          好吧,经过长时间的搜索,我终于找到了将 Matlab 代码与 java 一起部署的方法,这太独立了应用程序..

          步骤很简单::-- 1. 获取位于 location::

          的 Javabuilder.jar 文件

          Matlab\toolbox\javabuilder\jar\javabuilder.jar

          在 Matlabs 命令行中输入 deploytool...

          deploytool 窗口现在将打开,创建一个新的 java 项目。 选择您要使用的 Matlab 文件。

          deploytool 现在会将 .m 文件转换为 .jar 文件。

          现在使用上述两个 jar 文件并开发您的 java 兼容 matlab 代码

          这就是你可以创建matlab的独立应用程序的方式..

          【讨论】:

          • 我不确定这一点,但可能您还必须将 MATLAB Compiler Runtime (MCR) 与您的 jar 捆绑在一起,以便能够在一台没有 Matlab 的机器上运行它。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-02-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-10
          • 2012-08-16
          相关资源
          最近更新 更多