Deprecated: Return type of ameOrderedMap::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 328 Deprecated: Return type of ameOrderedMap::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 332 Deprecated: Return type of ameOrderedMap::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 338 Deprecated: Return type of ameOrderedMap::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 342 Deprecated: Return type of ameOrderedMap::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 346 Deprecated: Return type of ameOrderedMap::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\includes\ame-utils.php on line 350 Deprecated: Return type of Wslm_ProductLicense::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\license-manager\ProductLicense.php on line 97 Deprecated: Return type of Wslm_ProductLicense::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\license-manager\ProductLicense.php on line 101 Deprecated: Return type of Wslm_ProductLicense::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\license-manager\ProductLicense.php on line 105 Deprecated: Return type of Wslm_ProductLicense::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\license-manager\ProductLicense.php on line 109 Deprecated: Return type of ameMetaBoxSettings::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\metaboxes\ameMetaBoxSettings.php on line 113 Deprecated: Return type of ameMetaBoxSettings::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\metaboxes\ameMetaBoxSettings.php on line 127 Deprecated: Return type of ameMetaBoxSettings::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\metaboxes\ameMetaBoxSettings.php on line 144 Deprecated: Return type of ameMetaBoxSettings::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\metaboxes\ameMetaBoxSettings.php on line 158 Deprecated: Return type of ameRexCapability::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapability.php on line 51 Deprecated: Return type of ameRexCapability::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapability.php on line 65 Deprecated: Return type of ameRexCapability::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapability.php on line 82 Deprecated: Return type of ameRexCapability::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapability.php on line 96 Deprecated: Return type of ameRexComponentRegistry::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexComponentRegistry.php on line 59 Deprecated: Return type of ameRexComponentRegistry::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexComponentRegistry.php on line 66 Deprecated: Return type of ameRexComponentRegistry::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexComponentRegistry.php on line 73 Deprecated: Return type of ameRexComponentRegistry::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexComponentRegistry.php on line 80 Deprecated: Return type of ameRexComponentRegistry::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexComponentRegistry.php on line 87 Deprecated: Return type of ameRexCapabilitySearchResultSet::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 49 Deprecated: Return type of ameRexCapabilitySearchResultSet::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 21 Deprecated: Return type of ameRexCapabilitySearchResultSet::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 28 Deprecated: Return type of ameRexCapabilitySearchResultSet::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 35 Deprecated: Return type of ameRexCapabilitySearchResultSet::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 42 Deprecated: Return type of ameRexCapabilitySearchResultSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 56 Deprecated: Return type of ameRexComponentCapabilityInfo::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 94 Deprecated: Return type of ameRexComponentCapabilityInfo::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 101 Deprecated: Return type of ameRexComponentCapabilityInfo::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 108 Deprecated: Return type of ameRexComponentCapabilityInfo::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\role-editor\ameRexCapabilitySearchResultSet.php on line 115 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\SettingsGroup::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 102 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\SettingsGroup::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 106 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\SettingsGroup::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 110 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\SettingsGroup::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 114 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\SettingsGroup::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 123 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\ActorFeature::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 180 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\ActorFeature::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 184 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\ActorFeature::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 188 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\ActorFeature::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 192 Deprecated: Return type of YahnisElsts\AdminMenuEditor\Configurable\ActorFeature::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\km-sensing\wp-content\plugins\admin-menu-editor-pro\extras\modules\tweaks\configurables.php on line 196 Identifying Color Differences Using L*a*b* or L*C*H* Coordinates
Deprecated: strcasecmp(): Passing null to parameter #1 ($string1) of type string is deprecated in C:\inetpub\wwwroot\km-sensing\wp-content\themes\uncode\core\inc\wp-bootstrap-navwalker.php on line 107 Deprecated: strcasecmp(): Passing null to parameter #1 ($string1) of type string is deprecated in C:\inetpub\wwwroot\km-sensing\wp-content\themes\uncode\core\inc\wp-bootstrap-navwalker.php on line 107 Deprecated: strcasecmp(): Passing null to parameter #1 ($string1) of type string is deprecated in C:\inetpub\wwwroot\km-sensing\wp-content\themes\uncode\core\inc\wp-bootstrap-navwalker.php on line 107

Identifying Color Differences Using L*a*b* or L*C*H* Coordinates


How Closely Does the Sample Match the Standard?

Even if two colors look the same to one person, slight differences may be found when evaluated with a color measurement instrument. If the color of a sample does not match the standard, customer satisfaction is compromised and the amount of rework and costs increase. Because of this, identifying color differences between a sample and the standard as early in the production process as possible is important.

Color difference can be defined as the numerical comparison of a sample’s color to the standard. It indicates the differences in absolute color coordinates and is referred to as Delta (Δ). These formulas calculate the difference between two colors to identify inconsistencies and help users control the color of their products more effectively.

To begin, the sample color and the standard color should be measured and the values for each measurement saved. The color differences between the sample and standard are calculated using the resulting colorimetric values.

Identifying Color Differences Using CIE L*a*b* Coordinates

Defined by the Commission Internationale de l’Eclairage (CIE), the L*a*b* color space was modeled after a color-opponent theory stating that two colors cannot be red and green at the same time or yellow and blue at the same time. As shown below, L* indicates lightness, a* is the red/green coordinate, and b* is the yellow/blue coordinate. Deltas for L* (ΔL*), a* (Δa*) and b* (Δb*) may be positive (+) or negative ( -). The total difference, Delta E (ΔE*), however, is always positive.

ΔL* (L* sample minus L* standard) = difference in lightness and darkness (+ = lighter, – = darker)
Δa* (a* sample minus a* standard) = difference in red and green (+ = redder, – = greener)
Δb* (b* sample minus b* standard) = difference in yellow and blue (+ = yellower, – = bluer)

Let’s compare Apple 1 to Apple 2 (see Figure 1).

Figure 1

Looking at the L*a*b* values for each apple in Figure 1, we can objectively determine that the apples don’t match in color. These values tell us that Apple 2 (sample) is lighter, less red, and more yellow in color than Apple 1 (standard). If we put the values of ΔL*=+4.03, Δa*=-3.05, and Δb*=+1.04 into the color difference equation, it can be determined that the total color difference between the two apples is 5.16.

5.16 = [4.03^2 + -3.05^2 + 1.04^2] ^1/2

Identifying Color Differences Using CIE L*C*H* Coordinates

The L*C*h color space is similar to L*a*b*, but it describes color differently using cylindrical coordinates instead of rectangular coordinates. In this color space, L* indicates lightness, C* represents chroma, and h is the hue angle. Chroma and hue are calculated from the a* and b* coordinates in L*a*b*. Deltas for lightness (ΔL*), chroma (ΔC*), and hue (ΔH*) may be positive (+) or negative ( -). These are expressed as:

ΔL* (L* sample minus L* standard) = difference in lightness and darkness (+ = lighter, – = darker)
ΔC* (C* sample minus C* standard) = difference in chroma (+ = brighter, – = duller)
ΔH* (H* sample minus H* standard) = difference in hue

Let’s compare Apple 1 to Apple 2 (see Figure 2).

Figure 2

Looking at the L*C*h values for each apple in Figure 2, we can objectively determine that the apples don’t match in color. Like the L*a*b* values, these values tell us that Apple 2 (sample) is lighter and duller in appearance than Apple 1 (standard). The positive ΔH* value of +1.92 indicates Apple 2 falls counterclockwise to Apple 1 in the L*C*h color space. This tells us that Apple 2 is less red than Apple 1.

Color measurement instruments, such as colorimeters and spectrophotometers, can detect differences indiscernible to the human eye and then instantly display these differences in numerical terms. After identifying color differences using L*a*b* or L*C*h values, it should be decided whether the sample is acceptable or not using tolerance limits.

This article is part of the foundation of color science. To learn how to measure color differences please Download our Whitepaper: Colorimetry

Want to learn more about color measurement? Join us for a two-part webinar series this May (2022) about the essentials of color science and the elements of an effective color process within research and manufacturing environments.

Privacy Preference Center