-1

I'm trying to use this java class from ImageJ to denoise my image in java.

My attempts have lead me to this test class in conjunction with 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);
    }
}

But I can't seem to get the nlmd.setup() done correctly.

Any help would be greatly appreciated.

Nexion21
  • 149
  • 10

1 Answers1

0

I finally found the answer to my question.

The entire Test class looks like this now:

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");
}
}
Nexion21
  • 149
  • 10