像素化的dicom bufferedImage具有低对比度

时间:2014-01-27 19:15:53

标签: java jframe bufferedimage dicom

我想在我的java程序中显示DICOM图像。我正在使用pixelmed。但是,我发现我无法正确显示正确的对比度。对比度太低了。

这是我的代码:

(SourceImage是PixelMed提供的类,selectedImageFile.getPath()只是DICOM文件的路径。)

SourceImage dimg = new SourceImage(chosenImageFile.getPath());
BufferedImage image = dimg.getBufferedImage();

BufferedImage source = new BufferedImage(image.getWidth(), image.getHeight(),    BufferedImage.TYPE_INT_RGB);

Graphics2D g2d = source.createGraphics();
g2d.drawImage(image, 0, 0, null);
dicomImgDisplayer1.setImage(source);

dicomImgDisplayer1是一个类扩展JPanel。这个JPanel类的setImage()将调用JFrame类的setImage()。

JFrame类的setImage()代码:

public void setImage(BufferedImage image) {
   this.image = image;
   setPreferredSize(new Dimension(image.getWidth(), image.getHeight()));
   repaint();
   revalidate();
}

public void paint(Graphics graphics) {
   Graphics2D g2d = (Graphics2D) graphics;
   g2d.drawImage(image, null, 0, 0);
}

颜色模型有问题吗?请帮忙。感谢。

1 个答案:

答案 0 :(得分:0)

您的图片是否有规定的窗口宽度/窗口中心?一定要设置(或允许用户调整它)。请参阅SingleImagePanel - 有一些静态方法可以将窗口应用于缓冲图像。