Конвертируйте JPG из sRGB в CMYK с помощью профиля ICC в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Конвертируйте JPG из sRGB в CMYK с помощью профиля ICC в Python

Сообщение Anonymous »

В настоящее время я столкнулся с проблемой: я хочу преобразовать изображения JPG из sRGB в CMYK, используя профиль FOGRA39 ICC. Я хочу результатов, сопоставимых с тем, чего может достичь Photoshop. После долгих проб и ошибок я нашел решение, которое в некоторой степени работает, но пока не дает идеальных результатов.
Сначала я попробовал работать с «палочкой» и получил потрясающие результаты. красивый и маленький с точки зрения размера файла, но совершенно неправильный с точки зрения цветопередачи. Теперь я нашел решение с PIL (Pillow), которое должно обеспечить настоящую передачу цвета с помощью ImageCms.
Результаты близки к тем, что я получаю с Photoshop, но цвета немного отличаются. Файлы также намного больше, чем продукты из Photoshop.
Кто-нибудь знает решение? Я не привязан к решению на Python, но предпочел бы его.

Код: Выделить всё

from PIL import Image, ImageCms
import io
import os

icc_path = r'C:\Windows\System32\spool\drivers\color'
input_image_path = 'C:\\tmp\\input.jpg'
output_image_path = 'C:\\tmp\\output.jpg'

srgb_profile_path = os.path.join(icc_path, "sRGB Color Space Profile.icm")
cmyk_profile_path = os.path.join(icc_path, "CoatedFOGRA39.icc")

with Image.open(input_image_path) as img:
input_profile = ImageCms.ImageCmsProfile(srgb_profile_path)

output_profile = ImageCms.ImageCmsProfile(cmyk_profile_path)

converted_image = ImageCms.profileToProfile(
img,
inputProfile=input_profile,
outputProfile=output_profile,
renderingIntent=0,
outputMode='CMYK'
)
converted_image.save(output_image_path, quality=95, optimize=True)
Одна из проблем, которую я вижу, заключается в том, что я всегда предполагаю исходный цветовой профиль вместо того, чтобы смотреть, какой профиль действительно имеет входное изображение. Однако я не нашел решения, как считывать и использовать используемый профиль.
Я благодарен за любую помощь

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Конвертируйте JPG из sRGB в CMYK с помощью профиля ICC в Python
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Преобразование цветов C# из CMYK в Cielab или RGB в Cielab с использованием профиля ICC
    Anonymous » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • C# преобразовать значение RGB в CMYK, используя профиль ICC?
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать расширенный цвет SRGB в стандартный sRGB за пределами Swift или Objective-C
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Сложность встраивания профиля ICC в PDF с помощью PDFBox, iText и Ghostscrip
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»