Como converter imagens RGB para CMYK em GNU/Linux

Para trabalhos impressos, pode ser necessário trabalhar com imagens no espaço de cor CMYK, em vez de RGB, especialmente se não se usa o Scribus. A conversão do formato RGB para CMYK pode ser feita com o pacote ImageMagick, através do utilitário ‘convert‘:

convert catwoman.tif -profile ~/.color/icc/CMYK/UncoatedFOGRA29.icc catwoman-cmyk.tif

Os perfis de cor pessoais ficam na pasta ~/.color/icc/. Baixe perfis de cor da Adobe e descompacte-os nesta pasta. Use um perfil para cada tipo de papel (offset comum, couché, couché fosco, papel jornal, etc).

O resultado é uma imagem CMYK com perfil de cor embutido. Muito próximo ao obtido pelo Scribus. As imagens abaixo mostram as diferenças de imagem nos espaços de cor CMYK e RGB no preview de impressão do Scribus.

Só funciona bem a conversão para imagens TIFF, pois JPG não usa espaço de cor CMYK, mas YCrCb (ver comentário depois deste artigo).

Saída da tinta preta, sem perfil de cor.

Saída da tinta preta, perfil de cor processado.

Saída de ciano, amarelo e magenta, sem perfil de cor

Saída de ciano, amarelo e magenta, perfil de cor processado.

Como se pode ver, a saída da foto TIFF CMYK (foto superior) é praticamente igual à saída JPG RGB (foto inferior), no preview do Scribus, denotando que o ImageMagick faz uma boa conversão.

Conversão CMYK em Python

Programaticamente, posso fazer a conversão com a Python Image Library (PIL) 1.1.7, que já incorpora interface com o littlecms, sistema gerenciador de cores (CMS) de código aberto. Essa biblioteca não é instalada por default em Python. É necessário baixá-la e instalá-la.

# Importo os módulos PIL
import Image
import ImageCms
# carrego a imagem
encoding = sys.getfilesystemencoding()
file = 'fotão.jpg'
image = Image.open(file.encode(encoding)) # encode to let PIL handle accented filenames
# Crio a transformação com perfis de cor
# Estes caminhos são para Windows.
# No Linux, os perfis ficam em /usr/share/color/icc ou ~/color/icc
# é preciso saber exatamente o perfil de cor original da imagem
transform = ImageCms.buildTransform(
'c:\WINDOWS\system32\spool\drivers\color\AdobeRGB1998.icc',
'c:\WINDOWS\system32\spool\drivers\color\ISOuncoated.icc',
"RGB", "CMYK", ImageCms.INTENT_PERCEPTUAL
)
# Aplico a transformação à imagem.
# O comando PIL "image = image.convert('CMYK')" não pode ser usado porque
# não trabalha com perfis de cores e não gera a chapa de preto,
# cria preto com 100% Ciano, 100% Magenta e 100% Yellow.
image = applyTransform(image, transform, inPlace=1)
# Salvo a imagem a 300 dpi
file2 = 'fotão.tiff' # Não use JPEG para imagens CMYK
image.save(file2.encode(encoding),dpi=(300,300))

Esqueça conversão: use o Scribus

O Scribus não precisa disto, porque converte RGB para CMYK automaticamente (embute perfis de cor na saída PDF/X-3). Mas outros programas, como PageMaker, precisam de imagens já no espaço de cor CMYK, para impressão.

Bibliografia

José Antonio Meira da Rocha

Jornalista, professor das áreas de Editoração e de Mídias Digitais na Universidade Federal de Santa Maria, campus cidade de Frederico Westphalen, Rio Grande do Sul, Brasil. Doutor em Design pelo Programa de Pós-Graduação em Design (PGDesign)/Universidade Federal do Rio Grande do Sul (UFRGS), Porto Alegre, Brasil, 2023. Mestre em Mídias pela UNISINOS, São Leopoldo, RS, Brasil, 2003. Especialista em Informática na Educação, Unisinos, 1976.

View Comments

  • Artigo Fantástico! Super Esclarecedor e empolgante, pois ainda não tinha o conhecimento que o Scribus converte imagens RGB em CMYK automaticamente, para a área de diagramação é ótimo e faz com que seja desnecessário o uso de softwares proprietários.

    • Valeu o prestígio, Juliana!
      Sim, o Scribus produz PDF/X-3, que permite o embutimento de perfis de cor. A foto continua RGB, mas é convertida pelo RIP para CMYK graças ao perfil de cor.
      Só dá problema quando algumas gráfica abrem o PDF no Corel Draw, para fazer imposição (ARGH!). Pelo menos até a versão 13, o Corel não convertia as fotos RGB. Não sei nas novas versões...

  • O fato da conversão só funcionar bem no formato TIFF se deve ao JPEG usar o espaço de cor YCbCr.
    O "JPEG CMYK" é uma extensão proprietária e incompatível da Adobe.

Recent Posts

Sempre faça um fotão

Colheita de soja. Foto: Wenderson Araujo/Trilux Fotógrafos de mídias rurais já perderam a conta das…

1 year ago

A corrupção dos tolos

João Batista MezzomoAuditor fiscal O que está por trás de tudo o que está acontecendo…

4 years ago

Naomi who? Naomi Wu!

A.k.a. "SexyCyborg". A mulher do século 21. Naomi Wu testa seu iluminador de implantes na…

5 years ago

Raspagem de dados

A principal ferramenta do jornalista de dados é a planilha, tipo LibreOffice Calc, M.S. Excel…

5 years ago

Que estratégia político-terapêutica pára um governo deliroide?

Rita Almeida, 9 de março de 2019 Psicóloga Rita Almeida: não delirantes, mas deliroides. Não…

6 years ago

Sua tia não é fascista, ela está sendo manipulada

Rafael Azzi5 de outubro de 2018 Você se pergunta como um candidato com tão poucas…

6 years ago