22
CSC 1040 - Computing with Images 1 Image encodings CSC 1040

CSC 1040 - Computing with Images1 Image encodings CSC 1040

Embed Size (px)

Citation preview

Page 1: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 1

Image encodings

CSC 1040

Page 2: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 2

Last time: Color basics

Page 3: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 3

Color:(108,86,142) Position: (12,9)

x = 12

y = 9 red=108 green=86 blue=142

Page 4: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 4

Today: Pixel encodings

Bitmap

1 bit

Grayscale

8 bits

RGB Color 3 colors: red, green, blue

8 bits/color

24 bits

Page 5: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 5

1 byte = 8 bitsHow much can we encode in 8 bits?

• Let’s walk it through.– If we have one bit, we can represent two patterns:

0 and 1.

– If we have two bits, we can represent four patterns: 00, 01, 10, and 11.

– If we have three bits, we can represent eight patterns: 000, 001, 010, 011, 100, 101, 110, 111

Page 6: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 6

In n bits, we can have 2n patterns

– In 8 bits, we can have 28 patterns, or 256

– Values can be encoded as numbers from 0..255

Page 7: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 7

Encoding RGB

• Each component color (red, green, and blue) is encoded as a single byte

• Colors go from (0,0,0) to (255,255,255)– If all three components are the

same, the color is in greyscale• (50,50,50) at (2,2)

– (0,0,0) (at position (1,2) in example) is black

– (255,255,255) is white

Page 8: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 8

Is that enough?

• We’re representing color in 24 (3 * 8) bits.– That’s 16,777,216 (224) possible colors– Our eye can discern millions of colors - so probably pretty close

• Some graphics systems support 32 bits per pixel– Maybe more pixels for color, or an additional 8 bits to represent

256 levels of translucence

Remember: An image that uses 24 bit color is 24 times the size of

a bitmap image of the same resolution

Page 9: CSC 1040 - Computing with Images1 Image encodings CSC 1040

File Size

File size is usually measured in: bits, bytes, etc:

• Byte = 8 bits

• Kilobyte = 1024 bytes (= 210 bytes)

• Megabyte = 1024 KB (= 210 KB or 220 bytes )

• Gigabyte = 1024 MB (= 210 MB or 230 bytes)

• Terabyte = 1024 GB (= 210 GB or 240 bytes)

• …

CSC 1040 - Computing with Images 9

Page 10: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Image size

• Image size:– Pixels (eg: 300 x 200)– Inches/centimeters (eg: 3 x 2 inches)

• Resolution: #pixels/inch (eg: 100 pixels/inch)

CSC 1040 - Computing with Images 10

Page 11: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Increasing Image Print Size• Image size:

– Pixels (eg: 300 x 200)

– Inches/centimeters (eg: 3 x 2 inches)

CSC 1040 - Computing with Images 11

6 x 43 x 2

Page 12: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Increasing Image Print Size• Image size:

– Pixels (eg: 300 x 200)

– Inches/centimeters (eg: 3 x 2 inches)

• Resolution: #pixels/inch (eg: 100 pixels/inch)

CSC 1040 - Computing with Images 12

6 x 43 x 2

50

Same pixels, NO Resampling

Page 13: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Decreasing Image Print Size• Image size:

– Pixels (eg: 300 x 200)

– Inches/centimeters (eg: 3 x 2 inches)

• Resolution: #pixels/inch (eg: 100 pixels/inch)

CSC 1040 - Computing with Images 13

1.5 x 13 x 2

200

Page 14: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Changing the Number of Pixels (Resampling image)

• Image size:– Pixels 300 x 200)

– Inches/centimeters (eg: 3 x 2 inches)

• Resolution: #pixels/inch (eg: 100 pixels/inch)

CSC 1040 - Computing with Images 14

150 x 100300 x 200

50

Page 15: CSC 1040 - Computing with Images1 Image encodings CSC 1040

Photoshop Image Size Menu

CSC 1040 - Computing with Images 15

Lock aspect ratioLock aspect ratio

Changes the actual pixelsChanges the actual pixels

Actual pixelsActual pixels

Print sizePrint size

Page 16: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 16

Pixel encodings

Bitmap

1 bit

Grayscale

8 bits

RGB Color 3 colors: red, green, blue

8 bits/color

24 bits

Page 17: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 17

RGB Color File Size

RGB color image

24 bits (3 bytes)/pixel

Example: Image size: 300 x 200 pixels

•Total pixels = 300 x 200 pixels = 60,000 pixels

•File size = 60,000 x 3 bytes (3 bytes/pixel ) = 180,000

…..since there are 1024 bytes/KB:

= 175.8 KB

Page 18: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 18

Grayscale File Size

Grayscale image

8 bits (1 byte)/pixel

Example: Image size: 300 x 200 pixels

•Total pixels = 300 x 200 pixels = 60,000 pixels

•File size = 60,000 bytes (1 byte/pixel )…..since there are 1024 bytes/KB:

= 58.6 KB

Page 19: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 19

Bitmap File Size

Bitmap image

1 bit/pixel

Example: Image size: 300 x 200 pixels

• Total Pixels = 300 x 200 pixels = 60,000 pixels

•File size = 60,000 bits (1 bit/pixel )….. Since there are 8 bits/byte:

•File size = 60,000 / 8 bytes = 7500 bytes

…..since there are 1024 bytes/KB:

= 7.3 KB

Page 20: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 20

Comparing file sizes for 300 x 200 image:

Bitmap

1 bit

Grayscale

8 bits (1 byte)

RGB Color 3 colors: red, green, blue

24 bits (3 bytes)

7.3 KB 58.6 KB 175.8 KB

Page 21: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 21

Type of image Bits/pixel 320 x 240image

640 x 480image

1024 x 768image

Bitmap 1 76,800 bits

=9,600 bytes

=9.375KB

307,200 bits

=38,400

=37.5KB

786,432 bits

=98,304 bytes

=96KB

Grayscale 8

(1 byte)

614,400 bits

=76,800 bytes

=75 KB

2,457,600 bits

= 307,200 bytes

=300 KB

6291456 bits

786,432 bytes

768 KB

RGB color 24

(3 bytes)

225 KB 900 KB 2,304 KB

=2.25 MB

32 bit color

(4 bytes)

32

(4 bytes)

300 KB 1200 KB 3,072 KB

= 3 MB

Size of images: More Examples

Page 22: CSC 1040 - Computing with Images1 Image encodings CSC 1040

CSC 1040 - Computing with Images 22

Next Time: Image Compression

• Goal: Use fewer bytes to encode the same or similar information

• Reduce redundancy• Take advantage of human visual system –

don’t bother differentiating things that are unnoticeable

• Lose unimportant details