最近看到群里很多小伙伴比较关心dcm文件怎么转jpg或者是bmp文件,其实在dcm4chee中是提供了很多的方法,但是我们真正在用的时候其实重点还是在dcm文件本身,如果是经过压缩的文件,你用传统方法就没法去结项,如果是彩色的图片,你就蒙了,那么就这些问题给大家提供几种解析方式:
一、传统转化-----使用dcm2jpg
导入jar包依赖:
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che2-imageio</artifactId>
<version>2.0.25</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che2-net</artifactId>
<version>2.0.29</version>
</dependency>
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che2-core</artifactId>
<version>2.0.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/dcm4che.tool/dcm4che-tool-dcmqr -->
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che-tool-dcmqr</artifactId>
<version>2.0.29</version>
</dependency>
<!-- https://mvnrepository.com/artifact/dcm4che.tool/dcm4che-tool-dcm2jpg -->
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che2-tool-dcm2jpg</artifactId>
<version>2.0.25</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org</groupId>
<artifactId>dcm4che2-image</artifactId>
<version>2.0.25</version>
</dependency>
<dependency>
<groupId>org</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
代码:
package com.company.dicom.utils;
import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
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.io.PrintStream;
import java.util.Iterator;
import java.util.List;
import javax.imageio.IIOException;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageOutputStream;
import org.dcm4che2.data.DicomObject;
import org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam;
import org.dcm4che2.util.CloseUtils;
//实际上这是重写了Dcm2Jpg
public class Dcm2Jpg2
{
private static final String USAGE = "dcm2jpg [Options] <dcmfile> <jpe