【问题标题】:Image from Java GUI to MATLAB从 Java GUI 到 MATLAB 的图像
【发布时间】:2011-04-14 03:14:48
【问题描述】:

我在将图像(RGB 数据)从 Java GUI(我有源代码)传输到 MATLAB 数组时遇到问题。这个可以吗?

我不知道从哪里开始,因为我对 Java 编程不是很熟悉。任何帮助,将不胜感激。我是博士。学生和我需要为我未来的研究解决这个问题。

【问题讨论】:

  • MATLAB 可以使用imread() 等函数读取图像文件。图片的格式是什么?它在磁盘上吗?
  • 我熟悉matlab图像处理工具箱中的imread函数和其他大部分函数。但是,我不认为图像在磁盘上,所以我不能那样使用它。我也无法帮助您解决格式问题,因为我不知道答案。 JavaGui 是用于 CmuCam2 图像检索的一种:cs.cmu.edu/~cmucam2/downloads.html

标签: java image user-interface matlab import


【解决方案1】:

由于您使用的是 Java,因此这里可能会发生一些事情。

1) 使用MATLAB Builder JA。这将允许您创建一个 Java 层,该层允许您将 Java 中的数据编组到 MATLAB 运行时。请注意,此选项还有我所说的其他要求here

2) 您可以将 Java 中的图像写入 MATLAB 可以理解的图像格式之一,然后使用上述imread 加载它

3) 这是一个可疑的解决方案,但会起作用。将图像写成 CSV 格式的矩阵。然后,您可以将其加载到 MATLAB 中,它会将 CSV 转换为多维矩阵,或多或少地表示图像

基本上,它分解为以 MATLAB 理解的某种格式写出图像数据或编写互操作层。

【讨论】:

  • 无需使用 Matlab Builder JA 即可访问图像数据。
  • @zellus。是的,正如您的解决方案所提到的,您可以在 MATLAB 环境中执行所有这些操作,但是您还必须在 MATLAB 中运行整个 CmuCam2 应用程序,但这是一个应该考虑的选项。
  • 谢谢大家的帮助。我认为可以使用第一个解决方案,因为我必须实时传输数据。我无法保存我在磁盘上获得的图像。起初,我可以从matlab启动gui,但理想的解决方案是在不打开gui的情况下控制gui功能。这可以用builder ja来完成吗?
  • 这在技术上可以像 zellus 提到的那样完成。您可以在 MATLAB 命令提示符下实例化 Java 对象。如果您知道用于生成相关对象的 Java 对象,则可以编写对 Java 对象的方法调用的脚本。见mathworks.com/help/techdoc/matlab_external/f4863.html。 Build JA 可用于在您完成流程时创建可分发的解决方案。
  • 好的,再次感谢您。我会在一两天内告诉你我能做到什么。
【解决方案2】:

好吧,如果您没有更好的想法,请使用屏幕抓取工具(Windows 上的 Alt+PrntScreen,Linux 上的任何内容)并将抓取粘贴到 MS Paint 或 GIMP 中。然后保存为您喜欢的图像文件格式,鲍勃就是您的叔叔。

或者,我是否像往常一样,遗漏了一些令人难以置信的复杂情况?

如果这太简单了,修改 Java 以将图像写入文件——你说你有源代码。您甚至可以让 Matlab 调用 Java 来执行此操作,然后直接检索图像。

【讨论】:

    【解决方案3】:

    MATLAB 的一项杰出功能是其 Java 脚本功能。正如您可以下载 CmuCam2 源代码一样,您只需实例化所需的 Java 类并调用所需的方法,因为它们是 MATLAB 内置函数。

    查看 MathWorks 文档的“Bringing Java Classes and Methods into MATLAB Workspace”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多