How to convert the color profile

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

How to convert the color profile

Post by spiderplant0 »

Hi, I am trying to convert an image to a different color profile for the printers. I have read up how to do this here...
http://www.imagemagick.org/script/color-management.php and here...
http://www.imagemagick.org/script/comma ... hp#profile
and have become hopelessly confused.

Could someone please tell me the complete command line that I need to convert filename.jpg that is output by the Gimp (doesnt embed any color profile but I believe it uses sRGB) into CMYK profile ISOcoated_v2_300_eci.icc.
And have the colour profile attached to the image so that the printers can interpret it properly.

I have the .icc file already and I am on ImageMagick-6.8.6-Q16 and windows 7.

Thanks.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

post the verbose information from your image.

identify -verbose yourimage

We need to see if there is a profile.
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

Re: How to convert the color profile

Post by spiderplant0 »

C:\Program Files (x86)\ImageMagick-6.8.6-Q16>identify -verbose temp11.jpg
Image: temp11.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Class: DirectClass
Geometry: 388x180+0+0
Resolution: 150x150
Print size: 2.58667x1.2
Units: PixelsPerInch
Type: TrueColor
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
Channel depth:
red: 8-bit
green: 8-bit
blue: 8-bit
Channel statistics:
Red:
min: 0 (0)
max: 255 (1)
mean: 195.487 (0.766615)
standard deviation: 100.905 (0.395705)
kurtosis: -0.0409229
skewness: -1.37903
Green:
min: 0 (0)
max: 255 (1)
mean: 195.543 (0.766835)
standard deviation: 101.018 (0.396151)
kurtosis: -0.0428487
skewness: -1.37885
Blue:
min: 0 (0)
max: 255 (1)
mean: 195.845 (0.768019)
standard deviation: 100.488 (0.394072)
kurtosis: -0.0111682
skewness: -1.38942
Image statistics:
Overall:
min: 0 (0)
max: 255 (1)
mean: 195.625 (0.767156)
standard deviation: 100.804 (0.39531)
kurtosis: -0.0316763
skewness: -1.38243
Colors: 419
Histogram:

Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.64,0.33)
green primary: (0.3,0.6)
blue primary: (0.15,0.06)
white point: (0.3127,0.329)
Background color: white
Border color: srgb(223,223,223)
Matte color: grey74
Transparent color: black
Interlace: JPEG
Intensity: Undefined
Compose: Over
Page geometry: 388x180+0+0
Dispose: Undefined
Iterations: 0
Compression: JPEG
Quality: 100
Orientation: Undefined
Properties:
date:create: 2013-06-28T22:04:24+01:00
date:modify: 2013-06-28T22:04:25+01:00
jpeg:colorspace: 2
jpeg:sampling-factor: 1x1,1x1,1x1
signature: b22ef6d652b5afbefd95e6e2b9578449cc6fd6561b773124acebefe40bcb5fe4
Artifacts:
filename:temp11.jpg
verbose: true
Tainted: False
Filesize: 31.9KB
Number pixels: 69.8K
Pixels per second: 1.027MB
User time: 0.000u
Elapsed time: 0:01.068
Version: ImageMagick 6.8.6-2 2013-06-23 Q16 http://www.imagemagick.org
Last edited by spiderplant0 on 2013-06-29T09:56:09-07:00, edited 1 time in total.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

convert temp11.jpg -profile path2profile/ISOcoated_v2_300_eci.icc temp11_new.jpg

Your image does not have a profile, so just use -profile once to tell it what profile to add. You must know the path to where your profile exists on your computer.
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

Re: How to convert the color profile

Post by spiderplant0 »

Thanks very much.
One thing though, when I view this converted image, it doesnt display any different to the original (when I have converted to CMYK using an online tool the images visibly changes - it becomes darker due to the reduced color range in CMYK).

Can you confirm that the above command will convert to the CMYK profile as well as attaching the profile please.

I'm just trying to confirm that I'm converting my images correctly before sending off to the printers.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

I do not have your image. But some viewers (and browser) know how to deal with CMYK and others do not.

Post the verbose information about your new image or post a link to your image so we can test with it.

What viewer are you using to look at the image?
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

Re: How to convert the color profile

Post by spiderplant0 »

Hi,
I've uploaded everything to here...
https://skydrive.live.com/redir?resid=9 ... 7ww5u9mV7s

temp11.jpg - the original
temp11-im.jpg - converted to CMYK using the above command
temp11-online.jpg - converted to CMYK using online tool: http://www.rgb2cmyk.org/
ISOcoated_v2_300_eci.icc - the profile

Slowview and irfan viewers show them all the same.
windows7 file explorer, windows photo viewer, sky-drive on the browser, and the GIMP displays temp11-online.jpg less vivid.

I've been told that CMYK will display less vividly for bright colors as CMYK has a smaller color range, so I'm assuming that windows explorer etc are interpreting the color profile correctly and slowView etc are not.

temp11-im.jpg looks the same as the original for all viewers.

I want to have confidence that I'm sending the printer the correct thing. But its very difficult to know whats happening as each converter I test seems to produce different results and I'm not sure what viwer app is interpreting the converted images correctly.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

temp11-online.jpg shows up black on my viewers. temp11.jpg and temp11_im.jpg view exactly the same on Mac Preview, Safari, Opera, Firefox, Chrome, GraphicConvert. Photoshop says the profile is not valid, but opens the image and I can see from the Color Settings that it is using that profile for CMYK. I got the same behavior from using USWebCoatedSWOP.icc

Internet Explorer has been notorious for not dealing with CMYK jpg properly. But I am not a Windows users so cannot validate that.
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

Re: How to convert the color profile

Post by spiderplant0 »

I get similar results to windows 7 when I try in Ubuntu. I did a bit of research and it suggests that virtually all browsers use colour management. http://petapixel.com/2012/06/25/is-your ... r-managed/

I think I'll just have to give up on this issue. Thanks for all your help.
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

I think you need to print a test image to be sure it is working OK.
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: How to convert the color profile

Post by snibgo »

I don't know if you want to assign a profile, or convert an image to a profile. You probably want a conversion, but check with your printers. I note that temp11.jpg has a profile. I'll assume it is junk (so I will strip it), but the image is encoded as sRGB.

For assignment:

Code: Select all

convert temp11.jpg -strip -profile ISOcoated_v2_300_eci.icc t2.jpg
For conversion:

Code: Select all

convert temp11.jpg -strip -profile sRGB.icc -profile ISOcoated_v2_300_eci.icc t2.jpg
But be aware of a recent bug in using profiles with JPG files. See viewtopic.php?f=3&t=16699 . In addition, I suggest you don't use JPG for this process. If you want the colour fidelity offered by profiles, why throw it all away by using JPG?
snibgo's IM pages: im.snibgo.com
spiderplant0
Posts: 16
Joined: 2012-11-15T06:43:37-07:00
Authentication code: 6789

Re: How to convert the color profile

Post by spiderplant0 »

Hi snibgo,
I don't know if you want to assign a profile, or convert an image to a profile.
Maybe my question is causing confusion due to me not understanding what its is all about. Please bear with me. I have created an image with the gimp and the printer company have said that they want it as CMYK. From what I understand the Gimp works in sRGB but the Gimp doesnt tag the image with this fact (it seems to be the case that sRGB is the default profile), so I need to convert the image to ISOcoated_v2_300_eci.icc and then tag the image with this profile information. Does this make sense? So I am looking for the commands to do all this.
I note that temp11.jpg has a profile.
I'm confused. fmw42 says it doesnt has a profile. Can you elaborate please.

I would then like to verify that this process has worked (see previous comments about checking it on various apps). I havent been able to figure out how to do this (short of sending it of to the printers and inspecting what they send back). I thought viewing it on a monitor with some app would give me some idea (I know CMYK is for printers, but you are supposed to be able to simulate what it will look like when printed so you can adjust the source to compensate).

Thanks for the info about .jpg. I did not know this. Should I use TIFF or PDF?
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: How to convert the color profile

Post by fmw42 »

I'm confused. fmw42 says it doesnt has a profile. Can you elaborate please.
I see no profile under the OPs verbose information below Properties. The IM verbose info says JPG colorspace=2 and IM has assigned it sRGB. I am not sure what colorspace=2 means for jpg, but assume RGB (linear or non-linear?).

When I do identify -verbose temp11.jpg, it only shows exif and xmp data. I do not see any icc or icm profiles.

Profiles:
Profile-exif: 8382 bytes
Profile-xmp: 4901 bytes


As the image does not have an icc or icm profile, one only needs to assign it an appropriate profile.

There should be no need to convert the image to CMYK (via -colorspace CMYK) if you use a profile. The printers will look for the profile and should handle it appropriately.

Snibgo's commands summarize the two ways. (My post earlier may have been wrong). Though I would not use -strip, since it removes all meta data and perhaps you need to keep some of it. I would replace -strip with +profile *.ic* (to cover .icc and .icm)

That is my limited understanding of profiles. I defer to any one with further knowledge. I am no expert on this.


Given the advice at http://www.imagemagick.org/Usage/formats/#profiles

Code: Select all

If there is no embedded profile then the first "-profile" is the input profile. A second "-profile" then defines the output profile.
If there is an embedded profile then a single of "-profile" operator will immediately define the output profile.
So I followed the first given the following example

Code: Select all

But if the image doesn't (or you know it is a RGB image, without a existing profile), you can use...

    convert rgb_image.jpg +profile icm \
            -profile sRGB.icc  -profile USCoat.icm cmyk_image.jpg

So

convert temp11.jpg +profile *.icm -profile sRGB.icc -profile ISOcoated_v2_300_eci.icc temp11_profile.jpg

which produces the following image.

http://www.fmwconcepts.com/misc_tests/p ... rofile.jpg


On Mac Opera, Firefox and Chrome, it displays looking like the original, which means that these systems understand the profile, I believe. On Mac Preview and Safari, it looks totally different (inverted). This indicates that these systems do not understand the profile properly, I believe. So one can view them as the original by doing

convert temp11_profile.jpg -negate temp11_profile_negate.jpg
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK

Re: How to convert the color profile

Post by snibgo »

Yes, sorry, my mistake. temp11.jpg doesn't have a profile. I saw the magic words "profile" in identify -verbose, but should have looked more carefully. "-strip" isn't required and might (as fmw42 says) remove useful information.

I would use tiff files, but I do most of my work with tiff.

I think your printers want files with four channels, which represent CMYK. Here's an example, using an image with a single red pixel.

Code: Select all

%IM%convert xc:red r.tiff

%IM%convert r.tiff -profile ISOcoated_v2_300_eci.icc r2.tiff

%IM%convert r.tiff -profile sRGB.icc -profile ISOcoated_v2_300_eci.icc r3.tiff

%IM%convert r.tiff -intent Saturation -profile sRGB.icc -profile ISOcoated_v2_300_eci.icc r4.tiff
If we dump the pixel values, we can see what we have:

Code: Select all

D:\web\im>c:\im\ImageMagick-6.8.6-Q16fix\convert r.tiff txt:
# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (65535,    0,    0)  #FFFF00000000  red

D:\web\im>c:\im\ImageMagick-6.8.6-Q16fix\convert r2.tiff txt:
# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (65535,    0,    0)  #FFFF00000000  red

D:\web\im>c:\im\ImageMagick-6.8.6-Q16fix\convert r3.tiff txt:
# ImageMagick pixel enumeration: 1,1,65535,cmyk
0,0: (  407,65284,58755, 1759)  #0197FF04E58306DF  cmyk(0.621042%,99.617%,89.6544%,2.68406%)

D:\web\im>c:\im\ImageMagick-6.8.6-Q16fix\convert r4.tiff txt:
# ImageMagick pixel enumeration: 1,1,65535,cmyk
0,0: (    0,64649,53420, 3947)  #0000FC89D0AC0F6B  cmyk(0%,98.6481%,81.5137%,6.02274%)
We can see that r3.tiff and r4.tiff have the four channels, and they have high values in the 2nd and 3rd channels (Magenta and Yellow), as we would expect.
snibgo's IM pages: im.snibgo.com
Post Reply