Я пытаюсь преобразовать изображение jpeg в цветовое пространство RGB в цветовое пространство CMYK. Единственная проблема заключается в том, что мой конечный результат всегда представляет собой черное изображение. Но что интересно, приложение для предварительного просмотра в MAC показывает изображение правильно. Кажется, нигде из тех, что я искал, не было примеров успешного преобразования rgb в cmyk. Ниже приведен код, который я использую для попытки преобразования. Этот код отлично работает, если я выполняю преобразование в rgb с использованием профиля RGB ICC. Любое руководство приветствуется.
import javax.imageio.ImageIO;
public class TestClass {
public static void main(String[] args) throws Exception {
BufferedImage cmykImage = ImageIO.read(new File(
"CMYK_Sample.jpg"));
BufferedImage rgbImage = null;
ColorSpace cpace = new ICC_ColorSpace(ICC_Profile.getInstance(TestClass.class.getClassLoader().getResourceAsStream("icc/USWebCoatedSWOP.icc")));
ColorConvertOp op = new ColorConvertOp(cpace, null);
rgbImage = op.filter(cmykImage, null);
ImageIO.write(rgbImage, "JPEG", new File("CMYK_Sample_RGB_OUTPUT2.jpg"));
}
}