2016-12-24 65 views
0

我找到this post which uses the IJ.runMacro()方法,但我对“小丑(14K)”所指的内容感到困惑,而且我想使用我自己创建的宏,而不是一个从imageJ的网站下载。在我自己的java应用程序中运行ImageJ宏

我的宏就是这个现在:

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

和ImageJ中的作品,当我使用批量处理器。 (Non-Local Means Denoising is an ImageJ Plugin)

我的两个问题是:

  • 我怎么叫,我使用IJ.runMacro方法(或替代)由宏?

  • 如何指定runMacro方法将影响的图像?

谢谢你的时间。

+0

小丑(14K)是指ImageJ附带的示例图像。 https://imagej.nih.gov/ij/docs/properties.html – Piglet

+0

@Piglet啊,谢谢你的链接。你会碰巧知道如何指定我想要运行宏的图像吗?我尝试用我的图片目录替换“Clown(14K)”,但那肯定是不正确的,因为它给了我一个“无法识别的命令”的错误信息。 – Nexion21

+0

请阅读https://imagej.nih.gov/ij/docs/macro_reference_guide.pdf搜索打开 – Piglet

回答

0

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

的是最终解决它的代码行是:

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

所以整个测试类看起来现在这个样子:

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"); 
} 
} 
相关问题