如何将dicom文件转换为jpg转换 [英] How to convert dicom file to jpg conversion

查看:2686
本文介绍了如何将dicom文件转换为jpg转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何使用java将dicom文件(.dcm)转换为jpeg图像?
这是我的代码:

How we can convert a dicom file(.dcm) to a jpeg image using java? Here is my code:

import java.io.File;
import java.io.IOException;
import org.dcm4che2.tool.dcm2jpg.Dcm2Jpg;
public class MainClass {
public static void main(String[] args) throws IOException{
Dcm2Jpg conv = new Dcm2Jpg();
conv.convert(new File("C:\\Users\\lijo.joseph\\Desktop\\Dicom\\IM-0001-0001.dcm"), new File("C:\\Users\\lijo.joseph\\Desktop\\Dicom\\IM-0001-0001.jpg"));
}
}

我在运行项目时遇到以下错误

and i am getting the following error while running the project

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
at MainClass.main(MainClass.java:7)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

请提前帮助和谢谢

推荐答案

这是链接使用dcm4che 2将DICOM转换为JPEG

以下是我的代码,它完美地运行。我已将它放入导入,因此可能是使用完全。

Following is my code which works perfectly.I have placed it with imports so it might be use-full.

import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class Examplke1 {

    static BufferedImage myJpegImage=null;

    public static void main(String[] args) {
        File file = new File("test5/12840.dcm");
        Iterator<ImageReader> iterator =ImageIO.getImageReadersByFormatName("DICOM");
        while (iterator.hasNext()) {
            ImageReader imageReader = (ImageReader) iterator.next();
            DicomImageReadParam dicomImageReadParam = (DicomImageReadParam) imageReader.getDefaultReadParam();
            try {
                ImageInputStream iis = ImageIO.createImageInputStream(file);
                imageReader.setInput(iis,false);
                myJpegImage = imageReader.read(0, dicomImageReadParam);
                iis.close();
                if(myJpegImage == null){
                    System.out.println("Could not read image!!");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            File file2 = new File("/test.jpg");
            try {
                OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file2));
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream);
                encoder.encode(myJpegImage);
                outputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("Completed");
        }

    }
}

用于运行的罐子


  1. dcm4che-imageio-2.0.28.jar

  2. dcm4che-image-2.0.28.jar

  3. jai_imageio-1.1.jar

  4. dcm4che-core-2.0.28.jar

  5. slf4j-api-1.7.7.jar

  6. slf4j-log4j12-1.7.7.jar

  7. apache- logging-log4j.jar

  1. dcm4che-imageio-2.0.28.jar
  2. dcm4che-image-2.0.28.jar
  3. jai_imageio-1.1.jar
  4. dcm4che-core-2.0.28.jar
  5. slf4j-api-1.7.7.jar
  6. slf4j-log4j12-1.7.7.jar
  7. apache-logging-log4j.jar

希望有所帮助。

这篇关于如何将dicom文件转换为jpg转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆