ImageJ与BufferedImage的兼容性问题

3

我可以使用来自java.awt.image.BufferedImageBufferedImage对象与ImageJ类实例吗?例如,我可以使用BufferedImage对象代替ImagePlus对象吗?

2个回答

4

来自ImagePlus(String,java.awt.Image)的文档。

从图像或缓冲图像构造一个ImagePlus..

结果:每当需要时,请使用该构造函数创建ImagePlus


没有注意到,谢谢... 我可以用这个方法反过来做(Image plus obj -> java.awt.Image)吗?http://rsb.info.nih.gov/ij/developer/api/ij/ImagePlus.html#getImage() - buwaneka
你可以这样做,或者显式调用 getBufferedImage() 方法(我通常更喜欢这种方式)。很高兴你解决了问题。 :) - Andrew Thompson
所以我的问题是如何从ij.ImagePlus获取16位的bufferedImage...?如果我尝试使用ShortProcessor来获取,它会将我的有符号图像变为无符号图像,所以我无法得到原始图像...提前感谢,有人能提供解决方案吗? - Jay Thakkar
@JayThakkar 你应该就那个问题提出一个问题。 - Andrew Thompson
@JayThakkar 你的问题不是我的问题。如果你的提问能力受到限制,首先解决这个问题。 - Andrew Thompson
@Andrew 好的,我的问题就是我的问题。 - Jay Thakkar

0
public static void processImage(InputStream inputFile, String outputFilePath, double scaleFactor, int interpolationMethod, double sigmaFactor) {
    try {
        BufferedImage bi = ImageIO.read(inputFile);
        ImageProcessor ip = new ColorProcessor(bi);
        ip.blurGaussian(sigmaFactor / scaleFactor);
        ip.setInterpolationMethod(interpolationMethod);
        ImageProcessor outputProcessor = ip.resize((int) (ip.getWidth() * scaleFactor), (int) (ip.getHeight() * scaleFactor));
        IJ.saveAs(new ImagePlus("", outputProcessor), outputFilePath.substring(outputFilePath.lastIndexOf('.') + 1), outputFilePath);
    } catch (Exception e) {
         System.out.println("Error al comrpimir la imagen: "+e);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接