Image encodings CSC 1040 Computing with Images 1

  • Slides: 22
Download presentation
Image encodings CSC 1040 - Computing with Images 1

Image encodings CSC 1040 - Computing with Images 1

Last time: Color basics Additive primaries • • Start with black background, • •

Last time: Color basics Additive primaries • • Start with black background, • • use a hard edged brush of large diameter and set mode to “Difference” • • Apply red, green, blue Subtractive primaries Start with white background, use a hard edged brush of large diameter and set mode to “Darken” Apply cyan, yellow, magenta CSC 1040 - Computing with Images 2

y=9 red=108 green=86 Color: (108, 86, 142) Position: (12, 9) x = 12 CSC

y=9 red=108 green=86 Color: (108, 86, 142) Position: (12, 9) x = 12 CSC 1040 - Computing with Images 3 blue

Today: Pixel encodings Bitmap 1 bit Grayscale 8 bits CSC 1040 - Computing with

Today: Pixel encodings Bitmap 1 bit Grayscale 8 bits CSC 1040 - Computing with Images RGB Color 3 colors: red, green, blue 8 bits/color 24 bits 4

1 byte = 8 bits How much can we encode in 8 bits? •

1 byte = 8 bits How 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 CSC 1040 - Computing with Images 5

In n bits, we can have n 2 patterns – In 8 bits, we

In n bits, we can have n 2 patterns – In 8 bits, we can have 28 patterns, or 256 – Values can be encoded as numbers from 0. . 255 CSC 1040 - Computing with Images 6

Encoding RGB • Each component color (red, green, and blue) is encoded as a

Encoding RGB • Each component color (red, green, and blue) is encoded as a single byte • Colors go from (0, 0, 0) to (255, 255) – If all three components are the same, the color is in greyscale • (50, 50) at (2, 2) – (0, 0, 0) (at position (1, 2) in example) is black – (255, 255) is white CSC 1040 - Computing with Images 7

Is that enough? • We’re representing color in 24 (3 * 8) bits. –

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 CSC 1040 - Computing with Images 8

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

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

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

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

Increasing Image Print Size • Image size: – Pixels (eg: 300 x 200) –

Increasing Image Print Size • Image size: – Pixels (eg: 300 x 200) – Inches/centimeters (eg: 33 xx 2 inches) CSC 1040 - Computing with Images 6 x 4 11

Increasing Image Print Size • Image size: Same pixels, NO Resampling – Pixels (eg:

Increasing Image Print Size • Image size: Same pixels, NO Resampling – Pixels (eg: 300 x 200) – Inches/centimeters (eg: 33 xx 2 inches) • Resolution: #pixels/inch 6 x 4 (eg: 100 pixels/inch) 50 CSC 1040 - Computing with Images 12

Decreasing Image Print Size • Image size: – Pixels (eg: 300 x 200) –

Decreasing Image Print Size • Image size: – Pixels (eg: 300 x 200) – Inches/centimeters (eg: 33 xx 2 inches) 1. 5 x 1 • Resolution: #pixels/inch (eg: 100 pixels/inch) 200 CSC 1040 - Computing with Images 13

Changing the Number of Pixels (Resampling image) • Image size: – Pixels 300 x

Changing the Number of Pixels (Resampling image) • Image size: – Pixels 300 x 200) 300 x 200 150 x 100 – Inches/centimeters (eg: 3 x 2 inches) • Resolution: #pixels/inch (eg: 100 pixels/inch) 50 CSC 1040 - Computing with Images 14

Photoshop Image Size Menu Actual pixels Print size Lock aspect ratio Changes the actual

Photoshop Image Size Menu Actual pixels Print size Lock aspect ratio Changes the actual pixels CSC 1040 - Computing with Images 15

Pixel encodings Bitmap 1 bit Grayscale 8 bits CSC 1040 - Computing with Images

Pixel encodings Bitmap 1 bit Grayscale 8 bits CSC 1040 - Computing with Images RGB Color 3 colors: red, green, blue 8 bits/color 24 bits 16

RGB Color File Size Example: Image size: 300 x 200 pixels • Total pixels

RGB Color File Size Example: Image size: 300 x 200 pixels • Total pixels = 300 x 200 pixels = 60, 000 pixels RGB color image 24 bits (3 bytes)/pixel • File size = 60, 000 x 3 bytes (3 bytes/pixel ) = 180, 000 …. . since there are 1024 bytes/KB: = 175. 8 KB CSC 1040 - Computing with Images 17

Grayscale File Size Example: Image size: 300 x 200 pixels • Total pixels =

Grayscale File Size Example: Image size: 300 x 200 pixels • Total pixels = 300 x 200 pixels = 60, 000 pixels Grayscale image 8 bits (1 byte)/pixel • File size = 60, 000 bytes (1 byte/pixel ) …. . since there are 1024 bytes/KB: = 58. 6 KB CSC 1040 - Computing with Images 18

Bitmap File Size Example: Image size: 300 x 200 pixels • Total Pixels =

Bitmap File Size Example: Image size: 300 x 200 pixels • Total Pixels = 300 x 200 pixels = 60, 000 pixels Bitmap image 1 bit/pixel • 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 CSC 1040 - Computing with Images 19

Comparing file sizes for 300 x 200 image: Bitmap 1 bit 7. 3 KB

Comparing file sizes for 300 x 200 image: Bitmap 1 bit 7. 3 KB Grayscale 8 bits (1 byte) 58. 6 KB CSC 1040 - Computing with Images RGB Color 3 colors: red, green, blue 24 bits (3 bytes) 175. 8 KB 20

Size of images: More Examples Type of image Bits/pixel 320 x 240 image 640

Size of images: More Examples Type of image Bits/pixel 320 x 240 image 640 x 480 image 1024 x 768 image Bitmap 1 76, 800 bits =9, 600 bytes =9. 375 KB 307, 200 bits =38, 400 =37. 5 KB 786, 432 bits =98, 304 bytes =96 KB 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 CSC 1040 - Computing with Images 21

Next Time: Image Compression • Goal: Use fewer bytes to encode the same or

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 CSC 1040 - Computing with Images 22