我是新來的ImageJ和我要求增加糧食(http://en.wikipedia.org/wiki/Film_grain這裏定義的)添加穀物的圖像。我如何使用ImageJ的API
- 可能嗎?如果是這樣如何?
- 相關文檔/ Javadocs在何處使用ImageJ添加穀物 到圖像?
我是新來的ImageJ和我要求增加糧食(http://en.wikipedia.org/wiki/Film_grain這裏定義的)添加穀物的圖像。我如何使用ImageJ的API
我會從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。
我看到沒有語言標籤,所以我選擇在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()
}
}
感謝。你知道在哪裏可以找到關於如何使用實際的API而不是UI來實現這一目標的文檔? – balteo
不確定你的意思;我在上面建議了兩條路徑。 – trashgod