如何将bmp图像转换为DICOM文件?

时间:2013-12-31 06:59:39

标签: java image jpeg bmp dicom

我正在尝试将bmp图像转换为dicom,但似乎很难转换。

使用jpg2dcm实用程序我已成功将jpeg文件转换为dicom但是对于bmp和其他格式我需要解决方案。

请指导我转换。

3 个答案:

答案 0 :(得分:4)

首先,您需要将图像格式转换为JPEG格式!这可以使用ImageIO来完成。 E.G。

import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.io.*;

class ConvertPngToJpeg {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://i.stack.imgur.com/gJmeJ.png");
        final BufferedImage image = ImageIO.read(url);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(image, "jpg", baos);
        final BufferedImage imageJpeg = ImageIO.read(
                new ByteArrayInputStream(baos.toByteArray()));
        Runnable r = new Runnable() {
            @Override
            public void run() {
                JPanel gui = new JPanel(new GridLayout());

                gui.add(new JLabel(new ImageIcon(image)));
                gui.add(new JLabel(new ImageIcon(imageJpeg)));

                JOptionPane.showMessageDialog(null, gui);
            }
        };
        // Swing GUIs should be created and updated on the EDT
        // http://docs.oracle.com/javase/tutorial/uiswing/concurrency
        SwingUtilities.invokeLater(r);
    }
}

答案 1 :(得分:4)

看看dicom4j或dcm4che,后者更强大,并在Java开源Dicom服务器“DCM4CHEE”中使用。这些框架提供DICOM标准的类模型,以便创建首选IOD的实例。 因此,您可以使用这些API构建标题和图像数据部分,并使用它们将具体的dicom对象模型实例保存到标准的符合DICOM文件中。

它们提供了通过为它们分配属性 - 值对来创建dicom对象的方法。 这些框架支持您创建序列并提供DICOM数据和通信模型的类型安全类。

当然,它们提供了特殊的图像类型,使您可以分配像素数据及其所有相关属性 为了以适当的方式存储位图信息。

更新

认为这是你想要的工具。但是看看文档,并不是所有的bmp文件都受支持。 http://support.dcmtk.org/docs/img2dcm.html 希望它有所帮助。

答案 2 :(得分:3)

您可以直接将BMP文件转换为Dicom文件而不会丢失任何类型的信息。不要将图像转换为JPG,因为您不必要地使用有损格式。

img2dcm工具包中查看dcmtk