ImageJ API를 사용하여 일부 24 비트 TIFF 이미지를 8 비트 JPG로 변환하고 있습니다. 변환 후이 이미지에서 다른 처리를 수행해야합니다. 내가이 만든 :ImageJ - 파일을 저장하지 않고 이미지 형식 변환
ImagePlus img = IJ.openImage(f.getAbsolutePath()); // Open image
new ImageConverter(img).convertToGray8(); // Convert image to 8-bit grayscale
IJ.saveAs(img, "jpg", newPath); // Export image to jpg
// Read the same image again
// Process it
내 문제는 변환이 디스크에 이미지를 저장해야한다는 것입니다 나는 또한 내가 많은 수의 이미지를 처리하고있어, 직후 다시 읽어야한다. jpg 이미지를 만들고 디스크에 저장하지 않고 개체에 넣을 수있는 방법이 있습니까?
특히, 내 목표는 이미지의 바이트 내용으로 Hadoop SequenceFile을 만들어서 저장할 필요가 없다는 것입니다.
대신 당신의 BufferedImage의 BufferedImage = img.getBufferedImage()와 같은 구현을 사용 ImageIO.write의 이미지를()를 사용할 수 없습니다. 이 방식으로, 내가 빠뜨린 것은 ImageIO가 File 대신 ByteArrayOutputStream에 쓸 수 있다는 것입니다. 덕분에 많은 것을 얻었습니다. 감사합니다! – kennyFF92
! 정확한 답변이 업데이트되었습니다. –