JAVA - 程序在被另一个程序

时间:2015-09-18 16:08:59

标签: java

我有两个程序:第一个过滤图像,它叫做LRSR.exe;第二个,称为ALGOc.exe,调用第一个并为其提供要过滤的图像。 程序应该能够过滤每通道图像8和16位。 程序是我运行ALGOc,我选择一个图像,我调整一些参数,当我玩“执行”时,它将所有这些信息发送到LRSR.exe,这是“做的事情”。 它几乎可以正常工作,但有一点:如果我将16bpc图像传递给LRSR.exe,它会以蹩脚的方式过滤图像。 奇怪的是,如果我直接用LRSR.exe选择图像(从终端运行它而不是用ALGOc调用它)它运行良好并给出正确的结果..

编辑 - 这是代码的一部分(希望是有用的部分)

ALGOc:那是调用程序

public int dist; 
public int numI;
public int spra; 
public int ker;
public int irc;
public String urlImg;
[...]
pb.command(folder + exe,urlImg,urlOutput, N,n,ker,ker,irc,irc);

他的作用是将一些参数传递给LRSR.exe。

“folder + exe”是保存图像的目录,urlImg是要过滤的文件的名称,urlOutput是用于在文件处理后保存文件的名称。

现在,假设我有一张名为IMG的图片。我通常会运行ALGOc,选择IMG,选择输出文件夹,设置一些参数并单击“执行”。 ALGOc程序调用LRSR.exe,为他提供所需的所有参数(我在上面列出了一些行),然后LRSR.exe处理图像并存储一个新图像。 问题是当IMG是16bpc图像时。在这种情况下,如果我按照我刚才解释的程序,它会给出输出一个糟糕的图像。奇怪的是,结果几乎与我执行它的结果相同,其中“n”和“N”参数调整为1.我认为这是问题(错误的数据从一个程序传递到另一个程序),所以我让LRSR.exe写了一个txt文件这两个参数,结果就是它们很好......它们就是我传给他的那些。 如果我在不使用ALGOc给他打电话的情况下运行LRSR,所有这些混乱都不会发生。如果我直接从终端(。\ LRSR.exe IMG IMGoutputName)调用LRSR,它工作正常,结果是应该的。

如果我使用ALGOc调用LRSR但IMG不是16bpc但是8这也可以正常工作,这也是让我觉得它不是参数问题的另一个原因..

如果您需要更多信息,请与我们联系

1 个答案:

答案 0 :(得分:0)

由于它不是我的代码,所以我不知道这是一个无法工作的变量。 无论如何,谢谢你的帮助。