How can I use ImageJ as a library for a separate Java application?

后端 未结 3 1100
慢半拍i
慢半拍i 2021-02-07 12:11

In a regular Java application, I have a BufferedImage that I would like to manipulate with ImageJ. I have a macro that is exactly what I need to execute. I suspect that the firs

相关标签:
3条回答
  • 2021-02-07 12:29

    Here is a sample code that opens an image, inverts it and saves it back:

    import ij.ImagePlus;
    import ij.io.FileSaver;
    import ij.process.ImageProcessor;
    
    ImagePlus imgPlus = new ImagePlus("path-to-sample.jpg");
    ImageProcessor imgProcessor = imgPlus.getProcessor();
    imgProcessor.invert();
    FileSaver fs = new FileSaver(imgPlus);
    fs.saveAsJpeg("path-to-inverted.jpg");
    

    And here's a sample code that shows how to manipulate an image to make it grayscale:

    BufferedImage bufferedImage = imgProcessor.getBufferedImage();
    for(int y=0;y<bufferedImage.getHeight();y++)
    {
        for(int x=0;x<bufferedImage.getWidth();x++)
        {
            Color color = new Color(bufferedImage.getRGB(x, y));
            int grayLevel = (color.getRed() + color.getGreen() + color.getBlue()) / 3;
            int r = grayLevel;
            int g = grayLevel;
            int b = grayLevel;
            int rgb = (r<<16)  | (g<<8)  | b;
            bufferedImage.setRGB(x, y, rgb);
        }
    }
    ImagePlus grayImg = new ImagePlus("gray", bufferedImage);
    fs = new FileSaver(grayImg);
    fs.saveAsJpeg("path-to-gray.jpg");
    

    I hope it helps you get started :)

    0 讨论(0)
  • 2021-02-07 12:38

    The following site describes ImageJ API with examples: http://albert.rierol.net/imagej_programming_tutorials.html#ImageJ programming basics

    The examples include reading images, processing pixels etc. Well, I guess you will also need to use the API documentation a lot.

    0 讨论(0)
  • 2021-02-07 12:40

    Here is an opensource project implementation with imagej for photo sharing web app.

    Use this as a reference to implement imagej apis in your application

    http://www.gingercart.com/Home/java-snippets/create-image-thumbnail-in-java-using-imagej-api

    0 讨论(0)
提交回复
热议问题