【问题标题】:Array of Bytes to an URL encoded in JavaScript for ImageJ字节数组到以 JavaScript 为 ImageJ 编码的 URL
【发布时间】:2019-07-17 14:18:54
【问题描述】:

我还需要将我的字节数组(一个图像)转换为一个 URL 编码,以便它可以由我的远程服务器解释,然后在处理后重新编码并发送回用户。

这是为了设置一个服务器(云),托管的深度学习模型将在该服务器上获取用户处理的图像(在实验室使用 FiJi (imageJ))。它将消除噪音(泊松和高斯),用户将直接从服务器接收他的堆栈,避免他们在他们的计算机上安装沉重的东西。

importClass(Packages.ij.IJ);
importClass(java.awt.image.BufferedImage);
importClass(java.io.ByteArrayOutputStream);
importClass(java.io.File);
importClass(javax.imageio.ImageIO);
importClass(java.util.Base64);
importClass(java.lang.StringBuffer);

imp = IJ.getImage();

var buffered = imp.getBufferedImage();
imp.draw();
imp.getCurrentSlice();

baos = new ByteArrayOutputStream();
ImageIO.write( buffered, "jpg", baos );
baos.flush();
imageInByte = baos.toByteArray();
baos.close();
IJ.log(imageInByte[18751]);

所以目前(我对 JS 有点陌生,所以对“IJ.log(imageInByte[])”行感到抱歉,因为这是查看我的字节编码是否正常工作的唯一方法。

我现在正在努力寻找一种方法将这个“imageInByte”转换为一个 URL,所以我的下一步是设置服务器,以便他可以获取这个 URL,对其进行解码,获得 8 位图像,执行他的工作是消除图片上的噪音(显微镜堆栈),将其重新编码为字节,然后通过 URL 重新发送给客户,并通过 ImageJ 插件将其重新发送给客户,并享受干净的图像,而无需在本地主机上安装整个模型......

我不知道如何继续,因为我发现的所有内容都是纯 Java 或 Web 编程,我正在编写一个 FiJi 脚本 (对不起,我的 lvl 对从一种语言传递到另一种语言还不够熟悉,因为我找到了解决方案,但对于不相似的问题以及 PLSQL 或 C++)

我通常会选择“btoa”然后是“atob”,但我的斐济控制台返回“未定义”我已经导入了许多缓冲类,但它不会被“定义”...

编辑:替代解决方案是获取相同的代码(我不知道如何将这些 java 库作为 Jython 导入),这样我就可以获得相同的结果(图像的字节数组)并使其成为编码的 URL 似乎很多在 Python 中更容易,所以我也愿意接受任何关于将其翻译成 python 的帮助!

【问题讨论】:

    标签: javascript byte urlencode imagej fiji


    【解决方案1】:

    所以在意识到使用 JS 变得越来越难之后,我将我的代码换成了 python(感谢 Jython env,这很容易)

    我在我的问题上走得更远,所以我将在 python 中发布

    回答:在 JS 中不可能将数组的字节转换为 URL 编码或使用 toString。

    再次感谢您的宝贵帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 2010-10-04
      • 2020-09-06
      相关资源
      最近更新 更多