imageio를 사용하여 jpeg2000의 DICOM 이미지를 아래 코드와 같이 변환하려고합니다. 동일한 절차가 Oracle 설명서에 설명되어 있지만 작동하지 않습니다! 나는 내가 뭘 잘못하고 있는지 이해하지 못한다. Java 고급 이미지 I/O 라이브러리는 JRE에 설치됩니다.imageio를 사용하여 jpeg2000을 쓰는 데 문제가 있습니다.
사용 : ImageIO.getReaderFormatNames()
및 ImageIO.getWriterFormatNames()
DICOM 및 JPEG2000이 지원되는지 확인할 수 있습니다!
오류는 발생하지 않지만 파일을 쓰는 데 너무 오래 걸리고 출력 파일이 손상됩니다.
는
public void convert2JPEG(File sourceFileName) throws IOException{
Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("DICOM");
ImageReader reader = iter.next();
if(reader == null) {
log.error("Could not locate any Readers for the DICOM format image.");
return;
}
File sourceFile = new File (sourceFileName);
ImageInputStream iis = ImageIO.createImageInputStream(sourceFile);
BufferedImage bi;
try{
bi = ImageIO.read(iis);
File outputFile = new File("outputFileName");
String format = "jpeg 2000";
ImageIO.write(bi, format, outputFile);
} catch(Exception e){
log.info("ERROR: " + e);
}finally {
iis.close();
}
}
Java SE 7에서 지원되는 이미지 형식은 JPEG, PNG, GIF 및 (W) BMP ('ImageIO.getReader/WriterFormatNames() '호출시 가져온 것으로 나타남). _DICOM_ 및 _JPEG2000_가 지원된다는 결론에 도달했는지 설명해주십시오. –
@AndersGustafsson : 질문자가 Java 고급 이미지 I/O 라이브러리를 설치했다고 생각합니다. TIFF 및 JPEG2000을 읽고 쓸 수있는 기능이 추가되었지만 DICOM에 대해서는 잘 모르겠습니다. –
@LukeWoodward 설명해 주셔서 감사합니다. 일반적으로 이러한 유형의 변환을 용이하게하기 위해 DICOM 툴킷 사용을 권장합니다. David Clunie의 오픈 소스 [Pixelmed] (http://www.pixelmed.com/index.html#PixelMedJavaDICOMToolkit) Java DICOM Toolkit은 JPEG2000 형식으로 이미지를 쓸 수 있다고 생각합니다. –