我正在尝试将bmp图像转换为dicom,但似乎很难转换。
使用jpg2dcm实用程序我已成功将jpeg文件转换为dicom但是对于bmp和其他格式我需要解决方案。
请指导我转换。
答案 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)