Как установить цветовой профиль icc в Java и изменить цветовое пространство - PullRequest
3 голосов
/ 19 декабря 2008

Во-первых, я хотел бы сказать, что я не специалист по обработке изображений.

Я бы хотел преобразовать цветовое пространство изображения из одного в другое и одновременно изменить цветовой профиль icc. Мне удалось сделать это с помощью JMagick (Java-порт ImageMagick), но никак не в чистой Java (даже с использованием JAI).

1 Ответ

5 голосов
/ 10 мая 2010

Используйте ColorConvertOp, это сделает преобразование цветового пространства. У вас есть несколько вариантов установки цветового профиля icc. Либо вы используете предварительно определенный профиль с помощью getInstance с правильной константой цветового пространства, либо вы можете указать файл, который содержит профиль. Вот пример:

ICC_Profile ip = ICC_Profile.getInstance( ColorSpace.CS_sRGB );
ICC_ColorSpace ics = new ICC_ColorSpace( ip );
ColorConvertOp cco = new ColorConvertOp( ics, null );
BufferedImage result = cco.filter( sourceImage, null );

result будет содержать изображение с цветовым пространством sRGB.

...