2012-09-17 29 views

回答

2

我會從Process > Noise開始,在ImageJ User Guide: §29.6 Noise中描述。您必須決定現有的實施是否可以滿足您的要求。

在哪裏可以找到關於如何使用實際API而不是UI來實現此目的的文檔。

ImageJ Macro Language所討論的,一個簡單的方法是開始Plugin > Macros > Record然後操作所需的GUI命令。這揭示了宏命令名稱和任何設置,例如:

run("Add Noise"); 
run("Add Specified Noise...", "standard=16"); 

你可以申請這樣一個宏使用-batch命令行選項多個文件。

如果要直接使用Java的某項功能,請參閱ImageJ programming tutorials

+0

感謝。你知道在哪裏可以找到關於如何使用實際的API而不是UI來實現這一目標的文檔? – balteo

+0

不確定你的意思;我在上面建議了兩條路徑。 – trashgod

0

我看到沒有語言標籤,所以我選擇在Scala中編寫示例。下面的代碼會讀取lena.png圖像的兩倍,並創建兩個ImagePlus對象併爲其中的一個添加噪聲。

我有點猜測API評論與軟件庫ImageJ相關,而不是圖形用戶界面/程序ImageJ。

一種ImagePlus具有(類型ij.process.ImageProcessor的)一個處理器,你可以得到一個參考與該方法getProcessor()

(getProcessor()是一個方法這裏作用於對象lenaWithNoise和返回對當前ImageProcessor(附加到lenaWithNose)的引用)。

方法噪聲作用於圖像上,所述ImageProcessor處理,並且沒有返回值(無效的方法或在階部)

import ij._ 

object Noise { 
    def main(args: Array[String]): Unit = { 
    val lenaNoiseFree:ImagePlus = IJ.openImage("src/test/scala/images/lena.png") 
    val lenaWithNoise:ImagePlus = IJ.openImage("src/test/scala/images/lena.png") 
    lenaNoiseFree.show() 
    lenaWithNoise.getProcessor().noise(10.0) 
    lenaWithNoise.show() 
} 
}