0
我想在我的java程序中顯示DICOM圖像。我用pixelmed。但是,我發現我無法正確顯示正確的對比度。對比度太低。pixelmed的dicom bufferedImage對比度很低
這裏是我的代碼:
(SourceImage是PixelMed,chosenImageFile.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);
}
是不是有毛病顏色模型?請幫忙。謝謝。
圖像在另一個應用程序中看起來不同,還是假設對比是錯誤的?原始圖像的顏色模型是什麼? – Nanhydrin
@Nhydhydrin,我不知道顏色模型。但是當我在另一個應用程序中打開它時看起來不同。 – user3241775
您可以隨時嘗試打印顏色模型(即:'System.out.println(source.getColorModel())'),看看是否給我們提供了一些線索。也許發佈一些屏幕截圖,比較「另一個應用程序」與你的?你是否嘗試過使用'ColorConvertOp'而不是僅僅在RGB'BufferedImage'上繪畫?在ICC顏色轉換中可能更準確。 – haraldK