java dicom转换jpg,如何将dicom文件转换为jpg转换

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

please help and thanks in advance

解决方案

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 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");

}

}

}

Jars Used to Run it

dcm4che-imageio-2.0.28.jar

dcm4che-image-2.0.28.jar

jai_imageio-1.1.jar

dcm4che-core-2.0.28.jar

slf4j-api-1.7.7.jar

slf4j-log4j12-1.7.7.jar

apache-logging-log4j.jar

Hope it helps.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值