Helmut Walle wrote: > > What smart scheme can we drum up to find out systematically what colour > > adjusting we should use? > > Good question. What you would normally be interested in is an > end-to-end colour transformation from pictured objects to printouts > that is as closely an identity as possible.
This is what colour management is all about. There's plenty of info about it on the web - you can start with the ICC (International Color Consortium) at www.color.org. Adobe has some good info, and I remember there was a basic tutorial on the Barco site (the Rolls-Royce of monitors and video projection systems). Or you can read on for a few tidbits of why its so hard to do. > This implies that the colour adjustments depend not only on the printer > and driver you use, but also on the scanner or camera. This makes > things a bit difficult. It becomes even more difficult, if the camera > uses automatic white balancing, and you are taking pics of uni-colour > objects... You're on the right track but I hope to explain just how difficult this really is. I'm going to talk in pretty general terms from now on so if you're not interested in this stuff, read no further. There is a point way down the bottom somewhere but unfortunately I see the need for some background. You will be tested on this after the holidays ;) I can't guarantee that the info below is 100% accurate but I have learned rather a lot after quite a bit of frustration in the past with my scanner. Most imaging peripherals you buy today come with ICC colour profiles bundled with the driver. These are required by Microsoft if the "Designed for Win98" (or later) logo is to be attached (MS are part of the ICC). Of course, the lack of a Windows 98 sticker doesn't mean you won't get a profile. The colour profile provides information about how the device renders colours from input to output, eg from a photographed scene to a file, or from a file to a printed page. The profile also contains information about the colour gamut of the device: ie the range of colours it can physically produce. Gamma values can also be recorded. This information is used by the colour management system (often abbreviated to "CMS") to translate the raw data between various colour spaces while applying colour corrections as necessary. There are lots of different CMS's available but they all do basically the same thing using different algorithms. There are several different types of profiles, each of which is used at a different stage of the colour workflow. There are input devices (scanners, cameras), preview devices (monitors, projectors) and output devices (printers). Another kind of profile describes a "working colour space" and this is the device-independent hub of the whole system. Profiles can contain only gamma and gamut information, or can go the whole hog and describe how the device actually renders different colours (the data is often derived from an IT8 reference colour chart). You can generally tell by the size of the .icc file. My scanner profile is 655kb and my monitor profile is 2kb. When you scan something, the raw data is adjusted using the scanner's input profile to adjust the colours and convert it into the working colour space. The imaging application then uses the preview device to adjust the file for display, but this adjustment is done for display only and is not recorded to the file. So if someone else opens your file on their machine, their preview device will be used and they will (theoretically) see exactly the same colour as you did because the working colour space is device-independent. Some file formats allow colour profile information to be embedded. I am not exactly sure how this works as I've never used it. I'd guess that its used to avoid gamut compression when converting between different working colour spaces. When you print, the image data is converted from the working colour space into the printer's colour space, along with any adjustments necessary to correct colours so that what you saw on the screen is what you get on the page. Basically the same process used for scanners, in reverse. Each time a colour profile is applied the colours can be clipped or compressed if they are outside the gamut of either the source or the destination colour space. Some applications can warn you of out-of-gamut colours if you have your colour workflow set up. Even changing between different working colour spaces can cause problems. And there are lots of working colour spaces available. I have no idea why you'd apply any one of them over another as I don't have much experience in that field. Windows itself doesn't use colour profiles, but it does provide an interface to them for applications (such as Photoshop) to use if they're written to support it. Quite often the scanner/printer drivers automatically apply these profiles in the background so you unless you're into professional graphics you should theoretically never need to even know they exist. Apple provides similar support but I think it goes a bit deeper (ie Colorsync). I would dearly love to see a good colour management system implemented in XFree86, whether its their own or something commercial which has been contributed (SGI could come to that party, or Adobe could gain some major brownie points). And I'm not talking about KDE or Gnome. I'm referring to the underlying X server itself (I hate being tied to a window manager). As far as devices are concerned, the manufacturer-supplied profiles tend to be pretty generic and for absolute accuracy it can be a good idea to generate your own. This is especially important for printers as colour rendition is strongly dependent on the ink and the paper you use. Monitors and scanners are usually OK but they do vary slightly due to the effects of age and manufacturing processes. Unfortuately the equipment to do your own profiling can be rather expensive. Scanners and printers can be profiled in software (which you usually have to pay for). This is not as accurate as dedicated hardware - once you've profiled the scanner you can use it to profile the printer. Monitors require hardware to measure. The really expensive monitors are individually profiled in the factory, and some even come with the necessary hardware to recalibrate them as they age. There will always be small differences between your raw image, what your scanner/camera captures, what you see on the screen and what ends up on the printed page. This depends mainly on the device gamuts which are defined by the physical properties of the phospors or inks or whatever is generating the actual colour. You may have experienced Powerpoison shows where what was readable on the presenter's monitor has turned to custard on the projection screen simply because the projector can't display the same range of colours that the monitor could. Of course, some of the colour schemes that some people use are unreadable to start with. I saw yellow text on a bright green background yesterday. The printed page is the hardest to manage because, being a subtractive process, the colour rendition is critically dependent on the ambient light. The saving grace in this case is that human colour perception is far more relative than absolute, so the eye/brain compensates somewhat for the ambient lighting. I won't discuss perception further as this post is far too long already. On the down side, the very same relative nature of our perception is what makes adjusting-by-eye pretty much guaranteed not to give accurate results. Especially when your monitor is not calibrated. The RGB number might read 128/128/128 but the monitor won't display that as grey unless your imaging application has your monitor's profile loaded as the preview device (assuming the profile is accurate). The monitor profile only applies to a very specific setting (colour temperature, rgb adjustments, and brightness/contrast settings to a smaller extent, and you need to let it warm up properly as well). And what you perceive as grey greatly depends on ambient lighting. I have learned that for my current monitor settings I must not edit images during daylight hours as the living room is just too bright (and I should be out taking pictures anyway). Otherwise my images look a bit darker so I crank up the gamma to compensate, which means they end up printing too bright. Its no big deal if your printer is right beside you: just do another print. In my case, the printer is on the other side of town and I generally send the file in the evening and pick it up the next day (at best). I don't want to be screwing around too much so it helps to have it right first time. When Apple released OS X, some graphic artists complained that the default colour scheme upset their colour perception. So Apple produced a monochrome scheme. There are some very fussy people out there, but they do have good reason to be fussy when their paying client wants the job done right, and wanted it done yesterday. By now you're probably wondering why anything ever looks right at all ;) Its surprisingly difficult to make manual adjustments using the RGB numbers as you need extremely fine control over the tone curves for each colour channel in order to achieve what the CMS should be doing for you. I have tried this with an IT8 reference target in my scanner and it needed far too much fiddling to be worthwhile. I couldn't do it with just black/white points and gamma values for each r/g/b channel. Having said that, if its "pretty close" already, then by all means make some adjustments in the print driver. Just don't go expecting miracles. That was a lot of off-topic waffling on my part for such a small point. I'd better go pick up my latest test prints before the shop closes. Cheers, - Dave http://www.digistar.com/~dmann/
