我正在尝试使用ImageJ中的this java class来对我的图像进行去噪。
我的尝试引导我与these two classes (the github page linked to from ImageJ's website)一起参加此测试课程:
import ij.ImagePlus;
import ij.process.ByteProcessor;
import ij.process.ImageProcessor;
public class Test {
public static void main(String[] args) {
String directory = "C:\\Users\\Speedy Octopus\\Desktop\\Noise Reduction\\Before Denoising.JPG";
BufferedImage image = ImageUtility.loadImage(directory);
ImageProcessor ip = new ByteProcessor(image.getWidth(), image.getHeight());
String title = "New Image";
ImagePlus imp = new ImagePlus(title, ip);
NLMeansDenoising_ nlmd = new NLMeansDenoising_();
nlmd.setup("final", imp);
nlmd.run(ip);
}
}
但我似乎无法正确完成nlmd.setup()。
非常感谢任何帮助。
答案 0 :(得分:0)
我终于找到了问题的答案。
整个Test类现在看起来像这样:
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");
}
}