Upload
joshua-rogers
View
248
Download
2
Embed Size (px)
Citation preview
CSC 1040 - Computing with Images 1
Image encodings
CSC 1040
CSC 1040 - Computing with Images 2
Last time: Color basics
CSC 1040 - Computing with Images 3
Color:(108,86,142) Position: (12,9)
x = 12
y = 9 red=108 green=86 blue=142
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
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
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
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
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
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: 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)
– Inches/centimeters (eg: 3 x 2 inches)
CSC 1040 - Computing with Images 11
6 x 43 x 2
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
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
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
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
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
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
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
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
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
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
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