Как преобразовать от CMYK до RGB в Java правильно?

Мой код Java для преобразования CMYK jpeg в результаты RGB в выходном изображении, являющемся слишком легким - видит код ниже. Кто-либо может предложить корректный способ сделать преобразование?

Следующий код требует, чтобы Java Усовершенствованное Изображение IO считал jpeg и example-cmyk.jpg

import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.io.File;

import javax.imageio.ImageIO;

public class TestCmykToRgb {

    public static void main(String[] args) throws Exception {
        BufferedImage cmykImage = ImageIO.read(new File(
                "j:\\temp\\example-cmyk.jpg"));


        BufferedImage rgbImage = new BufferedImage(cmykImage.getWidth(),
                cmykImage.getHeight(), BufferedImage.TYPE_INT_RGB);

        ColorConvertOp op = new ColorConvertOp(null);
        op.filter(cmykImage, rgbImage);

        ImageIO.write(rgbImage, "JPEG", new File("j:\\temp\\example-rgb.jpg"));

    }
}

22
задан Jonas 3 October 2011 в 15:19
поделиться

1 ответ

CMYK в / из RGB затруднен - ​​вы преобразуете аддитивный и субтрактивный цвет. Если вам нужно точное совпадение, вам нужно изучить профили цветового пространства для каждого устройства. То, что выглядит нормально в одном цветовом пространстве, обычно не работает при физическом преобразовании в другое (то есть правильный вывод CMYK, а не наивный предварительный просмотр на мониторе).

По моему собственному опыту, преобразование RGB в CMYK наивно приводит к получению слишком темного изображения. Учитывая, что вы сообщаете об обратном в обратном направлении, вероятно, будет найдена приблизительная кривая регулировки яркости, которая будет работать хорошо (но остерегайтесь странных нелинейностей в цветовом пространстве). Если у вас есть доступ к Photoshop, я понимаю, что у него есть какая-то опция предварительного просмотра CMYK, которая может ускорить процесс определения такого приближения.

1
ответ дан 29 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: