CMYK->RGB with ICC profiles results in CMYK

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
axelrose
Posts: 96
Joined: 2008-12-16T06:01:27-07:00

CMYK->RGB with ICC profiles results in CMYK

Post by axelrose »

Hello,
I'm oberving a strange behaviour with 6.5.6-9.
An untagged CMYK TIFF input cannot be converted to RGB thought I can remember
this worked with older versions. IM also complains about missing LCMS support
though I'm sure it is compiled in.

This is my test script:

Code: Select all

#!/bin/bash

IN=/tmp/rose-cmyk.tif
OUT=/tmp/rose-rgb.tif

ICC_CMYK=/tmp/ISOcoated_v2_300_eci.icc
ICC_RGB=/tmp/eciRGB_v2.icc

CONV=/usr/local/share/imagemagick/bin/convert

echo "configuration"
$CONV -list Configure | grep lcms
echo "============="
echo "version"
$CONV -version
echo "============="
echo "profile check"
exiftool $ICC_CMYK | grep "Color Space"
exiftool $ICC_RGB | grep "Color Space"

$CONV rose: -colorspace cmyk $IN
echo "conversion CMYK -> RGB"
$CONV $IN -profile $ICC_CMYK -profile $ICC_RGB +profile icc $OUT
exiftool -PhotometricInterpretation $OUT
This is the output:

Code: Select all

configuration
CONFIGURE     ./configure  'CPPFLAGS=-I/usr/local/share/imagemagick/include' 'LDFLAGS=-L/usr/local/share/imagemagick/lib' '--prefix=/usr/local/share/imagemagick' '--enable-shared' '--disable-dependency-tracking' '--x-libraries=/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib' '--x-includes=/Developer/SDKs/MacOSX10.6.sdk/usr/X11/include' '--with-jpeg=yes' '--with-tiff=yes' '--with-freetype=yes' '--with-png=yes' '--with-jp2=yes' '--with-lcms=yes' '--with-gs-font-dir=/usr/local/share/ghostscript/fonts' '--with-wmf=yes'
DELEGATES     bzlib freetype jpeg jng jp2 lcms png tiff x11 xml wmf zlib
LIBS          -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread 
=============
version
Version: ImageMagick 6.5.6-9 2009-10-14 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC

=============
profile check
Color Space Data                : CMYK
Color Space Data                : RGB
conversion CMYK -> RGB
convert: delegate library support not built-in `/tmp/rose-cmyk.tif' (LCMS) @ profile.c/ProfileImage/897.
Photometric Interpretation      : CMYK
What could be wrong here??

Thanks for your efforts,
Axel.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by magick »

Check magick/magick-config.h. Is MAGICKCORE_LCMS_DELEGATE defined?
axelrose
Posts: 96
Joined: 2008-12-16T06:01:27-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by axelrose »

That's what I see:

Code: Select all

~/work/imagemagick/ImageMagick-6.5.6-9 > grep --before 2 --after 2 LCMS_DELEGATE magick/magick-config.h

/* Define if you have LCMS library */
#ifndef MAGICKCORE_LCMS_DELEGATE 
#define MAGICKCORE_LCMS_DELEGATE  1 
#endif
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by magick »

Do you have more than one MagickCore library on your system? ImageMagick does not complain about missing LCMS support if MAGICKCORE_LCMS_DELEGATE is defined when the library is compiled. And if you had LCMS support built-in, the CMYK to RGB conversion would work.
axelrose
Posts: 96
Joined: 2008-12-16T06:01:27-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by axelrose »

Do you have more than one MagickCore library on your system?
yes, from older compiles

How does IM find and uses the lib?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by magick »

It seems likely you are using a version of MagickCore that does not support LCMS. Use the ldd command (Linux) or otool (Mac) to see which library the convert command is dynamically binding to. Also verify you are running the proper release of the convert command (e.g. convert -version).
axelrose
Posts: 96
Joined: 2008-12-16T06:01:27-07:00

Re: CMYK->RGB with ICC profiles results in CMYK

Post by axelrose »

It was my fault. Sorry for the extra traffic.

I had to recompile libcms after an OS update to make it work again.
Post Reply