运行 我自己的 java 应用程序中的 ImageJ 宏

Run ImageJ macro from within my own java application

我找到了 this post which uses the IJ.runMacro() 方法,但我对 "Clown (14K)" 指的是什么感到困惑,我想使用我自己制作的宏,而不是从 imageJ 下载的宏网站。

我的宏现在就是这样:

run("Non-local Means Denoising", "sigma=5 smoothing_factor=1");

当我使用批处理器时,这在 ImageJ 中有效。 (Non-Local Means Denoising is an ImageJ Plugin)

我的两个问题是:

感谢您的宝贵时间。

我终于找到了问题的答案here

最终解决它的代码行是:

System.setProperty("plugins.dir", "C:\Users\Speedy Octopus\Downloads\ij150-win-java8\ImageJ\plugins");

所以整个测试 class 现在看起来像这样:

import ij.IJ;
import ij.ImagePlus;
import ij.io.FileSaver;
import ij.plugin.PlugIn;


public class Test implements PlugIn {

public static void main(String[] args) {

    Test test = new Test();
    test.run("Denoise.ijm");

}

@Override
public void run(String arg0) {
    String directory = "C:\Users\Speedy Octopus\Desktop\10Cover Shots\10.JPG";

    ImagePlus imp = IJ.openImage(directory);
    FileSaver fileSaver = new FileSaver(imp);

    System.setProperty("plugins.dir", "C:\Users\Speedy Octopus\Downloads\ij150-win-java8\ImageJ\plugins");
    IJ.run(imp, "Non-local Means Denoising", "sigma=5 smoothing_factor=1");
    fileSaver.saveAsJpeg("C:\Users\Speedy Octopus\Desktop\10Cover Shots\10edited.JPG");
}
}