Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
5 views33 pages

2 Color Representation

The document provides an overview of color representation in computer graphics, discussing concepts such as RGB and RGBA color models, image representation in pixels, and storage efficiency using color tables. It also covers interpolation methods like linear and barycentric interpolation, and introduces various color spaces including CMYK and HSL. Additionally, the document poses questions related to image storage requirements and mathematical descriptions of grayscale images.

Uploaded by

itsyoursumitt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views33 pages

2 Color Representation

The document provides an overview of color representation in computer graphics, discussing concepts such as RGB and RGBA color models, image representation in pixels, and storage efficiency using color tables. It also covers interpolation methods like linear and barycentric interpolation, and introduces various color spaces including CMYK and HSL. Additionally, the document poses questions related to image storage requirements and mathematical descriptions of grayscale images.

Uploaded by

itsyoursumitt
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

mca101 : computeR gRaphics

coloR RepResentation

Raghav B. Venkataramaiyer

CSED TIET Patiala India.

August 23, 2024


outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
what aRe colouRs

Colour is the visual perception based


on the electromagnetic spectrum.
Though color is not an inherent prop-
erty of matter, color perception is re-
lated to an object’s light absorption,
reflection, emission spectra, and in-
terference — Wikipedia

FiguRe: Image Courtesy: Wikipedia


Rgb colouRs

Perception of color originates from


different light wavelength or spec-
tral sensitivity in cone cell types,
which is then processed by the brain.
For most humans, colors are per-
ceived in the visible light spec-
trum with three types of cone cells
(trichromacy)
— Wikipedia
FiguRe: Image Courtesy: Wikipedia
visible spectRum

FiguRe: Visible Spectrum. Courtesy: Wikipedia


Rgb/a RepResentation

A colour in machine representation is


a 3-vector for RGB, i.e.
c ∈ R3[0,1] in floating-point representation;
c ∈ Z3[0,255] in 8-bit fixed-point representation.
a 4-vector for RGBA, i.e.
c ∈ R4[0,1] in floating-point representation;
c ∈ Z4[0,255] in 8-bit fixed-point representation.
outline

1 colouRs — intRoduction
Image Representation

2 colouR tables

3 colouR spaces

4 InteRpolation
an image as composition of pixels

An image is represented in pixels;


Conceptually, an image may be thought of split into a
rectangular grid of height H and width W;
Each cell of such a grid, is called a pixel. A pixel is the
smallest unit of area patch in an image and contains a
uniform colour throughout;
H × W is called the resolution of such an image.
an image as a bounded space

An optical camera sensor receives coloured signals


within the spatial opening from its shutter;
The sensor registers the signals as energy/ intensity
corresponding to each of the R,G,B frequencies of
visible spectrum.
The signals are physically continuous in space.
In practice, samples are discrete in space.
The space is 2-dimensional and bound on top, bottom,
left and right.
Hence an image may also be interpreted as a quantised
and bounded spatial signal.
image channels

Each of R, G, B, A etc. are known as channels.


If a camera may sample more frequencies, including
ultra- and infra-optical spectrum, the resulting image
is called a hyper-spectral image.
The RGB image has 3-channels
The RGBA image has 4-channels
A hyper-spectral image may have many channels, say
C channels.
image in floating-point RepResentation

A floating-point may be 16-bit, 32-bit or 64-bit per channel,


generally used internally within graphic frameworks like
OpenGL/ WebGL etc.

An image with resolution H × W,


containing C channels
is represented as x ∈ RC×H×W
[0,1] .

An RGB image with resolution H × W,


is represented as x ∈ R3×H×W
[0,1] .

An RGBA image with resolution H × W,


is represented as x ∈ R4×H×W
[0,1] .
image in 8-bit fixed-point

A fixed-point may be 8-bit, 16-bit, 32-bit or 64-bit per


channel, generally 8-bit is most commonly used.

An image with resolution H × W,


containing C channels
is represented as x ∈ ZC×H×W
[0,255] .

An RGB image with resolution H × W,


is represented as x ∈ Z[0,255]
3×H×W
.

An RGBA image with resolution H × W,


is represented as x ∈ Z4×H×W
[0,255] .
question

1 How is a grayscale image with resolution H × W with floating-point representation


described mathematically?
2 How is a grayscale image with resolution H × W with 8-bit fixed-point
representation described mathematically?
3 How is a grayscale image with resolution H × W with 16-bit fixed-point
representation described mathematically?
question

1 What is the minimum size (in bytes) required to store an uncompressed RGB image
in FHD resolution. Assume the image header to be H bytes.
2 What is the minimum size (in bytes) required to store an uncompressed RGBA
image in FHD resolution. Assume the image header to be H bytes.
outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
colouR tables

In order to improve storage efficiency of images,

Included colours are listed, the count n < 256


generally. This is called a colour table.
For each pixel, the colour is approximated and
assigned to be one of the colours in the table, and the
colour index is stored instead of the complete colour
information.
This reduces the storage requirement by order of
magnitude.
The only additional storage requirement is that of the
colour table, n × 3 bytes
stoRage efficiency

For example,
RGB image requires 8 × 3 = 24 bits per pixel; whereas
Colour table with upto 2 colours would require only
1-bit per pixel;
Colour table with 3-4 colours would require only 2-bit
per pixel;
Colour table with 5-8 colours would require only 3-bit
per pixel;
stoRage efficiency

Num Bits Max Num Colours


1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
question

What is the minimum size (in bytes) of storage required to


store an image with colour table with 100 RGB-colours?
Assume the image header to be H bytes.
outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
hsl and hsv

FiguRe: Image Courtesy: Wikipedia


cmyK (pRint technology)

FiguRe: When subtractive CMY inks are


combined at full strength, pairwise combinations FiguRe: Color printing typically uses ink of four
are red, green, and blue. Combining all three colours: cyan, magenta, yellow, and black.
gives an imperfect black colour.
Rgb vs cmyK

A comparison of CMYK and RGB color


models. This image demonstrates the
difference between how colors will look on
a computer monitor (RGB) compared to how
they might reproduce in a particular CMYK
print process.

Image Courtesy: Wikipedia


colouR mixing: additive vs subtRactive
additive colouR mixing subtRactive colouR mixing
Three overlapping light bulbs in a vacuum, Three splotches of paint on white paper,
adding together to create white. subtracting together to turn the paper black.

FiguRe: Image Courtesy: Wikipedia FiguRe: Image Courtesy: Wikipedia


otheR colouR spaces

1 Munsell (Munsell Colour System)


2 Pantone (Pantone Matching System)
3 Colour Fan Decks (by Paint Manufacturers)
4 Y,u,v Colour Space
5 L,a,b Colour Space
(Read More)
outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
Linear Interpolation
Barycentric Interpolation
lineaR inteRpolation

Point on straight line segment connecting


vectors a, b, may be given parameterised by
t ∈ R[0,1] as,

f(t) = (1 − t)a + t b
= a + t(b − a)

t = 0 ⇐⇒ f(t) = a
t = 1 ⇐⇒ f(t) = b
lineaR inteRpolation

Solution
Point on straight line connecting a, b, and in between, may be
given parameterised by t ∈ R[0,1] as,
Question
Given two points f(t) = (1 − t)a + t b
a, b ∈ R2 , find the point
on straight line Here if the Euclidean distance ∆E (a, b) = 1 unit, then
connecting them, and in ∆E (a, f(t)) = 1 − t units, and ∆E (f(t), b) = t units.
between, so that it is twice Hence,
as far away from b as it is
from a. 2
t= ∵ t = 2(1 − t)
3
2 1 2
p = f(t = ) = a + b
3 3 3
lineaR inteRpolation

Solution
Point on hypothetical straight line in RGB colour space
connecting a, b, and in between, may be given parameterised
by t ∈ R[0,1] as,
Question
Given two RGB colours f(t) = (1 − t)a + t b
a, b ∈ R3 , find the colour
c, so that it is twice as far Here if the Euclidean distance ∆E (a, b) = 1 unit, then
away from b as it is from ∆E (a, f(t)) = 1 − t units, and ∆E (f(t), b) = t units.
a. Hence,
2
t= ∵ t = 2(1 − t)
3
2 1 2
p = f(t = ) = a + b
3 3 3
outline

1 colouRs — intRoduction

2 colouR tables

3 colouR spaces

4 InteRpolation
Linear Interpolation
Barycentric Interpolation
baRycentRic cooRdinates

With respect to the vertices a, b and c, the


points inside the triangle may be
represented as (λa , λb , λc ), where
λa + λb + λc = 1.

FiguRe: Image Courtesy:


Wikipedia
baRycentRic cooRdinates

With respect to the vertices a, b and c, the


points inside the triangle may be
represented as (λa , λb , λc ), where
FiguRe: Barycentric λa + λb + λc = 1.
coordinates are used for
blending three colors over a
triangular region evenly in
computer graphics. Image
Courtesy: Wikipedia

You might also like