89,99 €
Computational Colour Science Using MATLAB 2nd Edition offers a practical, problem-based approach to colour physics. The book focuses on the key issues encountered in modern colour engineering, including efficient representation of colour information, Fourier analysis of reflectance spectra and advanced colorimetric computation. Emphasis is placed on the practical applications rather than the techniques themselves, with material structured around key topics. These topics include colour calibration of visual displays, computer recipe prediction and models for colour-appearance prediction.
Each topic is carefully introduced at three levels to aid student understanding. First, theoretical ideas and background information are discussed, then explanations of mathematical solutions follow and finally practical solutions are presented using MATLAB. The content includes:
This 2nd edition contains substantial new and revised material, including three innovative chapters on colour imaging, psychophysical methods, and physiological colour spaces; the MATLAB toolbox has been extended with a professional, optimized, toolbox to go alongside the current teaching toolbox; and a java toolbox has been added which will interest users who are writing web applications and/or applets or mobile phone applications.
Computational Colour Science Using MATLAB 2nd Edition is an invaluable resource for students taking courses in colour science, colour chemistry and colour physics as well as technicians and researchers working in the area. In addition, it acts a useful reference for professionals and researchers working in colour dependent industries such as textiles, paints, print & electronic imaging.
Review from First Edition:
“…highly recommended as a concise introduction to the practicalities of colour science…” (Color Technology, 2004)
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 332
Veröffentlichungsjahr: 2012
Table of Contents
Series Page
Title Page
Copyright
Acknowledgements
About the Authors
Chapter 1: Introduction
1.1 Preface
1.2 Why Base this Book on MATLAB®?
1.3 A Brief Review of the CIE System of Colorimetry
Chapter 2: Linear Algebra for Beginners
2.1 Some Basic Definitions
2.2 Solving Systems of Simultaneous Equations
2.3 Function Approximation
Chapter 3: A Short Introduction to MATLAB®
3.1 Matrices
3.2 Matrix Operations
3.3 Solving Linear Systems
3.4 M-Files
3.5 Using Functions in MATLAB®
Chapter 4: Computing CIE Tristimulus Values
4.1 Introduction
4.2 Colour-Matching Functions
4.3 Interpolation Methods
4.4 Extrapolation Methods
4.5 Correction for Spectral Bandpass
4.6 Tristimulus Values
4.7 Chromaticity Diagrams
Chapter 5: CIELAB and Colour Difference
5.1 Introduction
5.2 CIELAB and CIELUV Colour Space
5.3 CIELAB Colour Difference
5.4 Optimised Colour-Difference Formulae
Chapter 6: Chromatic-Adaptation Transforms and Colour Appearance
6.1 Introduction
6.2 Chromatic-Adaptation Transforms (CATs)
6.3 Colour-Appearance Models (CAMs)
Chapter 7: Physiological Colour Spaces
7.1 Introduction
7.2 Colour Vision
7.3 Cone-Excitation Space
7.4 MacLeod and Boynton Chromaticity Diagram
7.5 DKL Colour Space
Chapter 8: Colour Management
8.1 The Need for Colour Management
8.2 RGB Colour Spaces
8.3 The International Color Consortium
8.4 Characterisation and Calibration
Chapter 9: Display Characterisation
9.1 Introduction
9.2 Gamma
9.3 The GOG Model
9.4 Device-Independent Transformation
9.5 Characterisation Example of CRT Display
9.6 Beyond CRT Displays
Chapter 10: Characterisation of Cameras
10.1 Introduction
10.2 Correction for Nonlinearity
10.3 Correction for Lack of Spatial Uniformity
10.4 Characterisation
10.5 Example Characterisation of a Digital Camera
Chapter 11: Characterisation of Printers
11.1 Introduction
11.2 Characterisation of Half-Tone Printers
11.3 Characterisation of Continuous-Tone Printers
Chapter 12: Multispectral Imaging
12.1 Introduction
12.2 Computational Colour Constancy and Linear Models
12.3 Properties of Reflectance Spectra
12.4 Application of SVD to Reflectance Recovery
12.5 Techniques for Multispectral Imaging
12.6 Fourier Operations on Reflectance Spectra
Appendix A: Table of White Points of Illuminants used in r2xyz and Other Functions
Appendix B: Colour Toolbox
B.1 Where to Find the Toolbox
B.2 How to Install the Toolbox
B.3 Summary of Toolbox Files
References
Index
Wiley-IS&T Series in Imaging Science and Technology
Series Editor:
Michael A. Kriss
Consultant Editor:
Lindsay W. MacDonald
Reproduction of Colour (6th Edition)
R.W.G. Hunt
Colour Appearance Models (2nd Edition)
Mark D. Fairchild
Colorimetry: Fundamentals and Applications
Noburu Ohta and Alan R. Robertson
Color Constancy
Marc Ebner
Color Gamut Mapping
Ján Morovi
Panoramic Imaging: Sensor-Line Cameras and Laser Range-Finders
Fay Huang, Reinhard Klette and Karsten Scheibe
Digital Color Management (2nd Edition)
Edward J. Giorgianni and Thomas E. Madden
The JPEG 2000 Suite
Peter Schelkens, Athanassios Skodras and Touradj Ebrahimi (Eds.)
Color Management: Understanding and Using ICC Profiles
Phil Green (Ed.)
Fourier Methods in Imaging
Roger L. Easton, Jr.
Measuring Colour (4th Edition)
R.W.G. Hunt and M.R. Pointer
The Art and Science of HDR Imaging
John McCann and Alessandro Rizzi
Computational Colour Science using MATLAB (2nd Edition)
Stephen Westland, Caterina Ripamonti and Vien Cheung
© 2012, John Wiley & Sons, Ltd
Registered office: John Wiley & Sons, Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom
For details of our global editorial offices, for customer services and for information about how to apply for permission to reuse the copyright material in this book please see our website at www.wiley.com.
The right of the author to be identified as the author of this work has been asserted in accordance with the Copyright, Designs and Patents Act 1988.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by the UK Copyright, Designs and Patents Act 1988, without the prior permission of the publisher.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The publisher is not associated with any product or vendor mentioned in this book. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought.
MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This book's use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software.
Library of Congress Cataloguing-in-Publication Data
Westland, Stephen.
Computational colour science using MATLAB. – 2nd ed. / Stephen Westland,
Caterina Ripamonti, Vien Cheung.
p. cm.
Summary: “Describes how to implement colour science in a way that most other texts
barely touch upon”–Provided by publisher.
Includes bibliographical references and index.
ISBN 978-0-470-66569-5 (hardback)
1. Colorimetry. 2. MATLAB. I. Ripamonti, Caterina. II. Cheung, Vien, 1977- III. Title.
QC495.8.W47 2012
535.60285′53--dc23
2012009212
A catalogue record for this book is available from the British Library.
ISBN: 978-0-470-66569-5
Acknowledgements
This book makes extensive use of the MATLAB® programme, which is distributed by The MathWorks, Inc. We are grateful to The MathWorks for permission to include extracts of this code.
For MATLAB® product information, please contact:
The MathWorks, Inc.
3 Apple Hill Drive
Natick, MA 01760–2098, USA
Email: [email protected]
Web: www.mathworks.com
The code in this book was produced with Bitstream Vera Sans Monospaced font1. One of the nice features of this font is that it clearly distinguishes between a zero (0) and a capital O (O). To use this font in MATLAB®, selecting the Custom item under Fonts in the preferences tree. Select the component to change the font for, select the category of font to change and finally select a font in the combo box.
The authors would like to thank Dr Peter Rhodes for his advice and comments regarding methods to plot representations of the chromaticity diagram and for the use of the DigiEye systems for the images used in the case study of camera characterisation; Marjan Vazirian for the colour measurements of the case study of CRT characterisation.
1 Available from ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/
About the Authors
Stephen Westland
Stephen Westland was awarded his BSc and PhD from the University of Leeds. In 1986 he joined Courtaulds Research as a Colour Physicist before returning to academia in 1990 to work at the University of Keele. He worked as a post-doctoral researcher and lecturer in the Department of Communication and Neuroscience where he taught and researched colour measurement, human colour vision, computational imaging and image processing. In 1990 he was appointed as a Reader in Colour Imaging at the Colour Imaging Institute of the University of Derby. He was appointed as Professor of Colour Science and Technology in the School of Design at the University of Leeds in 2003 where he currently teaches and researches.
He has published more than 100 refereed papers in the areas of colour imaging, colour management, colour physics and colour design. He has been active in professional bodies that are concerned with colour. He is an active participant in conferences organised by the Society of Imaging Society and Technology (IS&T) and served on several organisational and technical committees. In 2008 he was awarded a Fellowship of the Society of Dyers and Colourists and the Davies Medal from the Royal Photographic Society for his research on digital colour imaging.
Caterina Ripamonti
Caterina Ripamonti was awarded her BA in Experimental Psychology from the University of Trieste (Italy) and her PhD in Vision Science from the University of Derby (UK). She worked as a post-doctoral fellow at the University of Pennsylvania (US), and at the University of Cambridge (UK). Since 2005, she has been working as a senior research fellow at the Institute of Ophthalmology, University College London (UK). From 2006–2008 she was appointed as Lecturer in Visual Communication at Universitá Suor Orsola Benincasa (Italy) where she taught human vision and visual communication to graduate students. She is also an honorary research fellow at Moorfields Eye Hospital (UK), and the Membership Secretary of The Colour Group (GB). Her research interests are in human colour vision, spatial and temporal properties of normal and defective vision of children and adults, and applied aspects of colour science related to human factors.
Vien Cheung
Vien Cheung completed her first degree in Textile Chemistry at The Hong Kong Polytechnic University (Hong Kong), an MSc in Colour Imaging at the University of Derby (UK) and a PhD in Colour and Imaging Science at University of Leeds (UK). She currently holds an academic post as Lecturer in Colour Theory in the School of Design at the University of Leeds.
Her research interests centred in colour applied to art, design, imaging and vision. She is active in professional bodies including The Colour Group (Great Britain), the Society of Dyers and Colourists (UK), the Society of Imaging Science and Technology (USA) and the Tsinghua Art & Science Colour & Imaging Institute (China). She is also a member of the International Editorial Panel of Coloration Technology. She received the Selwyn Award from The Royal Photographic Society in 2008 for her research in colour imaging and imaging technology; and a Silver Medal from the Society of Dyers and Colourists in 2011 in recognition of her contributions to education, the Society and in the interests of the allied industries.
Chapter 1
Introduction
The growing importance of colour science in the manufacturing industry has resulted in the availability of many excellent text books: existing texts describe the history and development of the CIE system (Wyszecki and Stiles, 1982; Hunt, 1998; Ohta and Robertson, 2005; Schanda, 2007; Hunt and Pointer, 2011), the prediction of colour difference (McDonald, 1997a; Berns, 2000; Luo, 2002a) and colour appearance (Fairchild, 2005), the relationship of the CIE system to the human visual system (Wandell, 1995; Kaiser and Boynton, 1996), and applications of colour science in technology (Green and MacDonald, 2002; Green, 2010). However, the field of colour science is becoming ever more technical and although practitioners need to understand the theory and practice of colour science they also need guidance on how to actually compute the various metrics, indices and coordinates that are useful to the practicing colour scientist. Computational Colour Science Using MATLAB® was published to address this specific need (Westland and Ripamonti, 2004). It described methods and algorithms for actually computing colorimetric parameters and for carrying out applications such as device characterisation, transformations between colour spaces and computation of various indices such as colour differences. There are a number of reasons why a second edition has now been published. Firstly, the last decade has seen a number of developments that are important but which were not included in the first edition; secondly, some notable topics were omitted from the first edition and are now included as additional chapters in this edition; thirdly the toolbox was originally written to emphasise clarity (for teaching purposes) but somewhat at the expense of performance (the authors now feel that a better balance between clarity and performance can be achieved and therefore all of the MATLAB® code has been rewritten); fourthly, the presentation of the text has been rewritten to provide a more logical and consistent presentation; fifthly, the comprehensive use of colour throughout the second edition provides opportunities to include topics that were more difficult to include in the first edition.
In preparing this edition, and the previous edition, a difficult decision was required on what level of existing knowledge we assume the reader has. However, this book is not intended as a primer for colorimetry and the CIE system. It is clear that a number of excellent texts that address this purpose already exist. Therefore, we assume a reasonable understanding of the main principles of the CIE system of colorimetry although a brief revision aid is provided for those readers who may find this useful. Readers who wish to explore the theoretical and historical backgrounds of the topics covered by this book are encouraged to review the alternative texts mentioned above and referred to within this text. We have written this book primarily for master's and doctoral students undertaking research in colour science since this is the book that we would have liked to have had access to when we undertook our own doctoral research. However, we are confident that computer programmers, colour-image engineers and academics will find this book and the associated MATLAB® code useful.
Finally, we note that the term colour science could be defined quite broadly to include topics such as colour chemistry, materials science, imaging science and a myriad of industrial applications that involve colour. Our definition of colour science is the perception, measurement and communication of colour.
This book describes algorithms and mathematical procedures in colour science and illustrates these procedures using the numerical software tool called MATLAB®. MATLAB® provides several features that make it suitable for the implementation of algorithms in general and colour-science algorithms in particular, and results in code that is easily understandable by readers even if they have relatively little experience of writing software. These features include the use of operations upon vectors and matrices to enable compact code that avoids the excessive use of looping procedures, the provision of a massive library of functions that the MATLAB® programmer can call upon, and the ease of use of graphics functions to enable the user to easily and effectively visualise complex data structures.
Most computer languages are very dependent upon a variety of ‘looping’ procedures to execute summations or to implement iterative techniques whereas MATLAB® enables these types of operations to be performed with a fraction of the code that would otherwise be required. For example, if we have two variables x and y that each consist of five entries and we wish to compute the product of the corresponding entries and then sum the results to yield a single number, we might write code that in BASIC looks like the following:
In MATLAB® these four lines of BASIC code shown could be written as:
Note the small differences in syntax between the two languages. However, in MATLAB® we can also use the elegant equivalent code thus:
Expressed in terms of linear algebra MATLAB® will perform the inner product of the 1 × 5 row vector x and the 5 × 1 column vector y. In the MATLAB® environment it is not necessary to specify how many entries the variables contain, as long as the dimensions of these variables define a valid matrix operation (in this case the row vector needs as many entries as the column vector). A variable in MATLAB® can represent a single number, a row or column vector, or a matrix (or array, as matrices are sometimes called). The operation given, for example, by:
will assign to y twice the value of x if x defines a single number, but twice the value of every element in x if x is a vector or a matrix. The compact nature of MATLAB® code allows complex and sophisticated algorithms to be explained and demonstrated with clarity and accuracy. Moreover, the computation of many colorimetric terms is ideally suited to a language that expresses variables in terms of matrices and vectors. For example, the calculation of CIE tristimulus values is essentially the inner product of certain matrices (typically the inner product of a 1 × 31 row vector with a 31 × 3 matrix when the calculations are being carried out at 31 wavelength intervals, as is common). Some procedures are best explained or implemented using loops, however, and for these situations MATLAB® does provide for and while looping structures which work broadly in a way that will be familiar to programmers who are used to languages such as C or BASIC.
The second strength of MATLAB® is that it includes an encyclopaedic collection of subprograms, called M-files, for the solution of nearly any numerical problem. Although this book is not principally concerned with generic numerical analysis, but rather with particular colorimetric algorithms, the M-files that are available with MATLAB® are useful for many computations in colour science. MATLAB® provides many functions (such as those with the ability to solve systems of simultaneous linear equations) and if it was necessary to spend time explaining these in detail or writing code to implement them it would detract from the main focus of this book which is colour science. Readers may wish to refer to other text books (e.g. Press et al., 1993) that address implementations of numerical analysis in programming languages such as C if they wish to convert the code in this book into other programming languages.
Perhaps MATLAB's® most spectacular feature is its capability to display graphics. Two- or three-dimensional graphs are easily constructed by even a novice MATLAB® user. Thus:
is sufficient code to plot a graph of the five values in the vector y against those in the vector x. Experienced programmers will find it trivial to construct sophisticated and informative graphs and the ability to almost effortlessly visualise data is one of the main advantages of using MATLAB® in a research environment. MATLAB® allows the user to answer complex ‘what if?’ questions with just a handful of code lines. MATLAB® is therefore an ideal experimental or prototyping language even if it lacks the run-time speed of some other languages such as C.
MATLAB® can be confusing, however, for users new to programming or who do not have a reasonable understanding of linear algebra. For this reason, Chapter 3 provides a gentle introduction to MATLAB® and Chapter 2 provides a basic introduction to linear algebra and the notation that is used throughout this book. Where possible, the code that is presented has been written for clarity rather than for efficiency or speed of computation to allow readers to understand the computational principles involved and to be able to implement them in a wide variety of programming languages. In general, special MATLAB® commands have been avoided, even though their use may have made the code more efficient, to reduce the effort that would be required to translate the code into a language such as C or C++. One exception, however, is the backslash operator, which is described in Chapter 3. Programmers who wish to use languages other than MATLAB® may wish to create their own version of the backslash operator in order to easily translate the code within this book. All of the MATLAB® code contained within this book can be downloaded from the MATLAB® website: www.mathworks.com/matlabcentral/.
Light is a term that we use to describe electromagnetic radiation, in the approximate wavelength range 360–780 nm, to which the human visual system is sensitive. When we observe the light reflected from surfaces in a scene, or when we look directly at the light emitted by light sources, we experience the sensation of colour. Colour is just one attribute of a complex and not fully understood set of properties that define the appearance of the world. Surfaces interact with light in a complex and varied way that includes processes of absorption, scattering, refraction and diffraction but it is the light that is reflected by the surfaces in a scene that we use to identify those surfaces by their colour. The reflectance properties of surfaces can be defined by spectral reflectance factors that are normally measured at regular intervals in the visible spectrum of radiation. The reflectance factor of an object at a certain wavelength (or wavelength interval) is the proportion of light at that wavelength that is reflected by the object and is never less than zero and only occasionally greater than unity. The term surface reflectance factor is used by some authors but this is somewhat confusing since it could imply that the light is reflected at the air/material surface of the object. Although a small amount of light (typically about 4% for inks and paints) is reflected at the surface, the majority of reflected light results from scattering processes that occur within the body of an object after the light has passed through the air/material surface. Commercially available reflectance spectrophotometers are able to measure reflectance factors (typically at intervals of 10 nm in the range 400–700 nm though some instruments extend their measurements to shorter or longer wavelengths). The quantity and quality of light that we see when we look at a point in a scene clearly depends upon the spectral power distribution of the illuminating source and the reflectance properties of the scene at that point. Our visual systems detect the reflected light using the light-sensitive sense organs or retinas that form the inner lining of the back of the eyeball. Light enters the eye through the pupil and is focused onto the retina by the lens. The retina consists of a mosaic of specialised cells called rods and cones that contain pigments that respond to light. The chemical changes that take place when the visual pigments in the rods and cones absorb light initiate electrochemical impulses that are subsequently processed by a neural network of brain cells and which eventually lead to the excitation of cells in various specialised areas of the outer region of the brain known as the cortex. It is still unknown where in the brain colour perception actually occurs, if indeed it occurs in any localised area, but activity in the visual cortex at the back of the brain (the occipital lobe) is strongly implicated. In Chapter 7, we will examine the properties of the visual system in more detail, as we discuss the way cone responses combine their outputs into post-receptoral channels and how to compute both receptoral and post-receptoral receptoral responses. In the present section, we provide only a minimal summary of the retinal processes, before methods for the measurement of colour are outlined.
Human vision is mediated exclusively by rods at low levels of illumination (below 0.001 cd/m2) also referred to as scotopic or night vision. At medium or mesopic levels of illumination (between 0.001 − 10 cd/m2) both rods and cones can contribute to vision. At higher or photopic levels of illumination (above 10 cd/m2), vision is mediated solely by the responses of the cones of which there are three types with sensitivities peaking at 420 nm (short wavelengths), 530 nm (medium wavelengths) and 560 nm (long wavelengths), termed S, M and L cones respectively (Bowmaker, 2002). The three classes of cones are not distributed evenly throughout the retina (Williams et al., 1981). For example, the central or foveal region is occupied predominantly by L and M cones and there are approximately twice as many L cones as there are M cones. The S cones are rare throughout the retina but are more concentrated in a ring around the fovea. The retina contains several layers of cells and the signals generated by the transduction of light into chemical and electrical energy in the cones activate the bipolar and ganglion cells before leaving the eye via the optic nerve. The cones and rods each provide a univariant response (Rushton, 1972; Wandell, 1995) and the consequence of this is that the individual classes of cones and rods are colour blind. That is, the scotopic visual system can only perceive shades of grey and the responses of single photoreceptor types considered independently are also incapable of wavelength discrimination. At least two types of photoreceptor are required for colour vision. Under mesopic and photopic conditions, the visual system achieves colour vision by analysing the relative responses of at least two types of photoreceptor.
The Commission Internationale de l'Éclairage (CIE) developed a system for the specification of colour stimuli that was recommended for widespread use in 1931. Perhaps the most important step that allowed this development was the understanding of additive colour mixing. Thus, all colour stimuli can be matched by the additive mixture of three appropriately chosen primaries. In the 1920s it had long been recognised that the amounts or intensities of the primaries required to match a given stimulus effectively form a specification of the stimulus in terms of the primaries that are used. The amounts of the primaries used for any given stimulus are commonly known as the tristimulus values. It is possible to determine the tristimulus values for any given stimulus using a device known as a split-field or bipartite colorimeter. In such a device an observer views a bipartite field. On one side of the field the stimulus is displayed; on the other side the additive mixture of the three primaries is displayed. The observer adjusts the intensities of each of the three primaries until the additive mixture is visually indistinguishable from the stimulus. Under the matching condition the field appears uniform to the observer and the tristimulus values can be read off from the device and recorded.
The measurement of the colour-matching functions of observers was a critical feature in the development of the 1931 CIE system of colorimetry since they allowed the computation of the tristimulus values for a known stimulus without the need to view the stimulus in a bipartite colorimeter. The colour-matching functions are the amounts of three primaries required to match one unit of intensity of a single wavelength of light, and were recorded for small wavelength intervals throughout the visible spectrum. If red, green and blue primaries are used and these are denoted by the symbols [R], [G] and [B], and the tristimulus values are represented by the symbols R, G and B, then it is possible to write an equation to denote the matching condition thus:
1.1
In this Equation the symbol ≡ means ‘is matched by’ and the stimulus that is being matched is denoted by the symbol S. If the tristimulus values are measured separately for each wavelength in the visible spectrum then we obtain the tristimulus values as functions of wavelength λ thus: R(λ), G(λ), and B(λ). These three functions of wavelength are called colour-matching functions. The additivity and linearity of colour matches allow an important property: if a stimulus S1 is matched by R1, G1, B1 and a stimulus S2 is matched by R2, G2, B2 then it is possible to predict in advance the tristimulus values that define a match to the stimulus defined by the additive mixture S1 + S2. Thus we can simply write:
1.2
Since any real stimulus can be considered to be the sum of energy at many different wavelengths, it is possible to predict the tristimulus values for any stimulus in a similar way (without having to resort to physically determining a visual match for that stimulus using a bipartite colorimeter) given that the colour-matching functions are known.
In fact, experiments were carried out prior to the publication of the CIE system by two groups of workers headed by Wright in 1929 and Guild in 1931 (see Wyszecki and Stiles, 1982) to determine colour-matching functions. The two groups of workers used different primaries and consequently the two sets of colour-matching functions were different. This raises an interesting question of whether the colour-matching functions are arbitrary, given that there is a very wide choice in the selection of the primaries. Certainly, the actual tristimulus values obtained for a given stimulus are arbitrary in that they would be different if a different set of primaries was chosen. However, the matching condition is valid no matter which primaries are selected subject to some simple criteria (for example, the primaries must be independent; in other words, it must not be possible to match one of the primaries using an additive mixture of the other two). This means that if two stimuli are a visual match and are specified by the same tristimulus values under Guild's system, then the two stimuli would also match under Wright's system. Furthermore, the two stimuli would be a match under a system defined by any other set of three independent primaries.
It is possible to convert tristimulus values from one system to another by a simple linear transform (see Chapter 2). It is also possible to compute the colour-matching functions for a set of known primaries given the colour-matching functions of another set of primaries. Thus, in 1931, the CIE transformed the two sets of colour-matching functions obtained from experiments carried out by Wright and Guild into a single set of colour-matching functions and reassuringly found good agreement between the two sets of data. The CIE system as we know it today is based upon a transformation of the original colour-matching functions averaged from Guild and Wright to a set of primaries known as X, Y and Z. The colour-matching functions are known for each wavelength and are therefore represented by (λ), (λ) and (λ).
Although it is commonly stated that any colour can be matched y three primaries, this statement requires careful understanding. If we restrict ourselves to using three fixed (and real) primaries and if we only consider positive amounts of the three primaries then the statement is certainly false. It is impossible to select three real primaries and use these in additive mixture to match all possible colour stimuli. If the primaries are chosen carefully then a good proportion of the possible colours can be matched, but not all of them. Therefore, when Wright and Guild carried out their experiments they found that negative amounts of one of the primaries were sometimes required. Practically, this meant that in the split-field colorimeter one of the primaries would be added to the stimulus, the resultant additive mixture then being matched by the other two primaries. Under these conditions, when a negative amount of the red primary was being used, we could rewrite Equation 1.1 as:
1.3
or, its mathematical equivalent:
1.4
from which the notion of negative amounts of a primary is apparent. The implication of this is that in the original colour-matching functions of Guild and Wright some of the entries were negative and some of the tristimulus values would be negative. For largely pragmatic reasons, the CIE decided to transform the colour-matching functions to a set of primaries for which all of the entries would be positive and all of the tristimulus values would be positive for all real colours. This was achieved mathematically by defining a set of primaries (XYZ) that were more saturated than any real colour. The CIE XYZ primaries are sometimes referred to as imaginary primaries since they cannot be realised by any real lights.
The CIE also defined standard illuminants—tables of spectral power distributions—that can be used to compute the colour signal for a surface given the spectral reflectance factor of the surface. The introduction of tables of illuminants allowed the computation of tristimulus values for surface colours as well as for self-luminous colours. A practical equation for computing the CIE 1931 tristimulus values for a surface with spectral reflectance P(λ) under an illuminant of relative spectral power E(λ) is:
1.5
The CIE (1931) colour-matching functions were derived from RGB colour-matching experiments that used a bipartite field that subtended 2° (in terms of visual angle) at the retina. A second set of colour-matching functions were measured and introduced in 1964 using a larger field size of 10°. The 1931 and 1964 colour-matching functions are based on the same XYZ primaries but exhibit some marked differences. One reason for this is that the distribution of cones (the light-sensitive cells in the eye) is not uniform across the retina (Williams et al., 1981). For example, it is known that there are no cones that contain short-wavelength-sensitive pigment in the central region of the retina known as the foveola. The present situation whereby there are two sets of colour-matching functions known as the 2-degree (1931) and the 10-degree (1964) standard observers has served the colour industry well over the last 70 years but is ultimately unsatisfactory. Users need to make a choice based upon which set of colour-matching functions best represents any given viewing situation. This presents problems from time to time when the size of the stimulus is not exactly 2° or 10°. The CIE is currently working towards the development of a set of colour-matching functions that vary continuously for a wide range of stimulus sizes.
The CIE XYZ tristimulus values specify a colour stimulus in terms of the visual system. It is often useful, however, to compute chromaticity coordinates xy from the tristimulus values thus:
1.6
The chromaticity diagram is derived by plotting y against x and this provides a useful map of colour space. However, it should be noted that stimuli of identical chromaticity but different luminance are collapsed onto the same point in the 2D plane of the chromaticity diagram. One of the benefits of the chromaticity diagram is that, according to Grassman's law, additive mixtures of two primaries fall on a straight line joining the two points that represent the two primaries in the chromaticity diagram. If three primaries are used then the gamut of the additive system is given by a triangle, with the vertices defined by the chromaticities of the three primaries. The gamut of all physically realisable colours is contained by the convex shape of the spectral locus and a straight line that can be considered to be drawn between the two ends of the locus. It can readily be seen that this is so if one considers any real colour stimulus to consist of the additive sum of energy at individual wavelengths.
The CIE system of colorimetry is a system of colour specification. However, it has two limitations that it is important to understand. Firstly, the system was designed for colour specification rather than for colour appearance. The chromaticities of a perfect reflecting diffuser will change as the illumination changes. However, it has already been mentioned that the colour appearance of such a surface would be expected to remain approximately constant under quite large changes in illumination. Secondly, the system is perceptually nonuniform. For a given Euclidean distance between two points in XYZ space the magnitude of the perceptual colour difference between the two stimuli represented by those points can vary by an order of magnitude or more. This second limitation in particular has presented industrial practitioners of colorimetry with serious problems and even today these problems have not all been resolved. Although it is useful to be able to state that two stimuli are a visual match (under the strict conditions under which the colour-matching functions were derived) if they have the same tristimulus values, it would perhaps be even more useful to be able to predict the visual difference between two stimuli whose tristimulus values are not identical. Ideally, we would like a uniform colour space in which equal distances in that space correspond to equal perceptual differences.
A major advance was made by the CIE in 1976 with the introduction of the CIELAB system of colour specification. This nonlinear transform of the XYZ values provided partial solutions to both the problems of colour appearance and colour difference. The transformation from tristimulus values to L*a*b* coordinates is given by:
1.7
where Xn, Yn and Zn are the tristimulus values of a specified white achromatic stimulus1.
CIELAB provides a three-dimensional colour space where the a* and b* axes form one plane and the Lightness L* axis is orthogonal to this plane. The CIELAB transform is generally used for surface colours (a separate transform, CIELUV, was provided for use with self-luminous colour stimuli such as those generated using additive colour-reproduction devices) and includes several interesting features.
Firstly, the inclusion of difference signals crudely models processes that are believed to take place in the human visual system. Thus, whereas the retina initially captures responses derived from the cone spectral sensitivities, these responses are combined at an early (retinal) stage of visual processing to provide a luminance signal and two opponent signals that can be described as being yellow-blue and red-green. Similarly, CIELAB represents colour stimuli as an achromatic signal (L*) and two chromatic channels representing yellow-blue (b*) and red-green (a*).
Thirdly, the nonlinear transform of tristimulus values in the CIELAB equations allows the Euclidean distance between two points in the new space to better predict the visual colour difference between the colour stimuli represented by those two points. Consequently, the colour difference metric known as and computed by the equation:
1.8
where ΔL*, for example, denotes the difference in L* between the two samples, has been used effectively to quantify colour difference in a wide range of industries.
Unfortunately, although CIELAB is more perceptually uniform than XYZ space it is still a long way from being perceptually uniform. Industrial practitioners of colour science would like to be able to apply a single tolerance on the value of
