簡體   English   中英

JAVA - 程序在被另一個程序調用時無法正常工作

[英]JAVA - Program doesn't work right when called by another program

我有兩個程序:第一個過濾圖像,它叫做 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,它也可以正常工作,這是另一個讓我認為這不是參數獲取問題的原因。

如果您需要更多信息,請告訴我

結果發現這是一個我不知道的無效變量,因為它不是我的代碼。 無論如何,謝謝你的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM