Top Banner
Image Processing Point Processing Filters Dithering Image Compositing Image Compression
51

Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Processing

Point Processing

Filters

Dithering

Image Compositing

Image Compression

Point Processing

Filters

Dithering

Image Compositing

Image Compression

Page 2: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Images

• Image stored in memory as 2D pixel array

• Value of each pixel controls color

• Depth of image is information per pixel– 1 bit: black and white display

– 8 bit: 256 colors at any given time via colormap

– 16 bit: 5, 6, 5 bits (R,G,B), 216 = 65,536 colors

– 24 bit: 8, 8, 8 bits (R,G,B), 224 = 16,777,216 colors

Page 3: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Fewer Bits: Colormaps

• Colormaps typical for 8 bit framebuffer depth

• With screen 1024 * 768 = 786432 = 0.75 MB

• Each pixel value is index into colormap

• Colormap is array of RGB values, 8 bits each

• Only 28 = 256 at a time

• Poor approximation of full color

i

RR GG BB

0

1

2

255

RR GG BB

RR GG BB

255 255 00 00

Page 4: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Processing

• 2D generalization of signal processing

• Image as a two-dimensional signal

• Point processing: modify pixels independently

• Filtering: modify based on neighborhood

• Compositing: combine several images

• Image compression: space-efficient formats

• Related topics (not in this lecture or this course)– Image enhancement and restoration

– Computer vision

Page 5: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Outline

• Point Processing

• Filters

• Dithering

• Image Compositing

• Image Compression

Page 6: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Point Processing• Input: a[x,y], Output b[x,y] = f(a[x,y])

• f transforms each pixel value separately

• Useful for contrast adjustment

Suppose our picture is grayscale (a.k.a. monochrome).

Let v denote pixel value, suppose it’s in the range [0,1].

f(v) = v identity; no change

f(v) = 1-v negate an image(black to white, white to black)

f(v) = vp, p<1 brighten

f(v) = vp, p>1 darken

v

f(v)

Page 7: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Point Processing

f(v) = v identity; no change

f(v) = 1-v negate an image(black to white, white to black)

f(v) = vp, p<1 brighten

f(v) = vp, p>1 darken

v

f(v)

Page 8: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Gamma correction compensates for different monitors

= 1.0; f(v) = v = 2.5; f(v) = v1/2.5 = v0.4

Monitors have a intensity to voltage response curve which is roughly a 2.5 power function

Send v actually display a pixel which has intensity equal to v2.5

Page 9: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Outline

• Point Processing

• Filters

• Dithering

• Image Compositing

• Image Compression

Page 10: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Signals and Filtering

• Audio recording is 1D signal: amplitude(t)

• Image is a 2D signal: color(x,y)

• Signals can be continuous or discrete

• Raster images are discrete–In space: sampled in x, y

–In color: quantized in value

• Filtering: a mapping from signal to signal

Page 11: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Convolution

• Used for filtering, sampling and reconstruction

• Convolution in 1D

Chalkboard

Page 12: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Convolve box and step

Page 13: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Convolution filters

box

tent

gaussian

Page 14: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

• Convolution in 1D– a(t) is input signal

– b(s) is output signal

– h(u) is filter

• Convolution in 2D

Convolution filters

Page 15: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Filters with Finite Support

• Filter h(u,v) is 0 except in given region

• Represent h in form of a matrix

• Example: 3 x 3 blurring filter

• As function

• In matrix form

Page 16: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Blurring Filters

• A simple blurring effect can be achieved with a 3x3 filter centered around a pixel,

• More blurring is achieved with a wider nn filter:

Original Image Blur 3x3 mask Blur 7x7 mask

Page 17: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Filtering: Blurring

original, 64x64 pixels 3x3 blur 5x5 blur

Page 18: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Blurring Filters

• Average values of surrounding pixels

• Can be used for anti-aliasing

• What do we do at the edges and corners?

• For noise reduction, use median, not average– Eliminates intensity spikes

– Non-linear filter

Page 19: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Example: Noise Reduction

Image with noise Median filter (5x5)

Page 20: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Example: Noise Reduction

Original image Image with noise Median filter (5x5)

Page 21: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Edge Filters

• Discover edges in image

• Characterized by large gradient

• Approximate square root

• Approximate partial derivatives, e.g.

Filter =

000

101

000

Page 22: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Sobel Filter

• Edge detection filter, with some smoothing• Approximate

• Sobel filter is non-linear– Square and square root (more exact computation)– Absolute value (faster computation)

Page 23: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Sample Filter Computation

• Part of Sobel filter, detects vertical edges

-1

-1-2

0

00

1

12

4

125252525252525

252525

25252525252525

252525

25252525252525

252525

25252525252525

252525

25252525252525

252525

0000000

000

0000000

000

0000000

000

0000000

000

0000000

000

a b

25252525252525

252525

0000000

000

0000000

00

0000000

000

0000000

000

25252525252525

252525

0000000

000

0000000

000

0000000

000

0000000

000 0

h

Page 24: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Example of Edge Filter

Original image Edge filter, then brightened

Page 25: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Filtering: Edge Detection

Page 26: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Outline

• Display Color Models

• Filters

• Dithering

• Image Compositing

• Image Compression

Page 27: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Dithering

• Compensates for lack of color resolution

• Eye does spatial averaging

• Black/white dithering to achieve gray scale– Each pixel is black or white

– From far away, color determined by fraction of white

– For 3x3 block, 10 levels of gray scale

Page 28: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Dithering

Dithering takes advantage of the human eye's tendency to "mix" two colors in close proximity to one another.

Page 29: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Dithering

Dithering takes advantage of the human eye's tendency to "mix" two colors in close proximity to one another.

original no dithering with dithering

Colors = 224 Colors = 28 Colors = 28

Page 30: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Ordered Dithering

• How do we select a good set of patterns?

• Regular patterns create some artifacts

• Example of good 3x3 dithering matrix

Page 31: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Floyd-Steinberg Error Diffusion• Diffuse the quantization error of a pixel to its neighboring pixels

• Scan in raster order

• At each pixel, draw least error output value

• Add the error fractions into adjacent, unwritten pixels

• If a number of pixels have been rounded downwards, it becomes more likely that the next pixel is rounded upwards

7/16

3/16 5/16 1/16

Page 32: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Floyd-Steinberg Error Diffusion

Page 33: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Floyd-Steinberg Error Diffusion

From http://www.cs.rit.edu/~pga/pics2000/node1.html

Enhances edgesRetains high frequencySome checkerboarding

Page 34: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Color Dithering

• Example: 8 bit framebuffer– Set color map by dividing 8 bits into 3,3,2 for RGB

– Blue is deemphasized because we see it less well

• Dither RGB separately– Works well with Floyd-Steinberg

• Generally looks good

Page 35: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Outline

• Display Color Models

• Filters

• Dithering

• Image Compositing

• Image Compression

Page 36: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Compositing

• Represent an image as layers that are composited (matted) together

Page 37: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Compositing

• To support this, give image an extra alpha channel in addition to R, G, B

• Alpha is opacity: 0 if totally transparent, 1 if totally opaque

• Alpha is often stored as an 8 bit quantity; usually not displayed.

• Mathematically, to composite a2 over a1 according to matte

b(x,y) = (1-(x,y))•a1(x,y)+ (x,y)•a2(x,y) = 0 or 1 -- a hard matte, = between 0 and 1 -- a soft matte

• Compositing is useful for photo retouching and special effects.

Page 38: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Special Effects: Compositing

• Lighting match

• Proper layering

• Contact with the real world

• Realism (perhaps)

• ApplicationsCel animationBlue-screen matting

Page 39: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Roger Rabbit

http://members.tripod.com/~Willy_Wonka/Theatr.jpg

Page 40: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Special Effects: Green Screen

Green screenSecond green screen shotCompositing of everything

Digital Domain (from http://www.vfxhq.com/1997/titanic-picssink.html )

Page 41: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Special Effects: Green Screen

Green screenCompositing of people with ship model, sky and digital water

Digital Domain (from http://www.vfxhq.com/1997/titanic-picssink.html )

Page 42: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Outline

• Display Color Models

• Filters

• Dithering

• Image Compositing

• Image Compression

Page 43: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Compression

• Exploit redundancy–Coding: some pixel values more common

–Interpixel: adjacent pixels often similar

–Psychovisual: some color differences imperceptible

• Distinguish lossy and lossless methods

Page 44: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Image Sizes

• 1024*1024 at 24 bits uses 3 MB

• Encyclopedia Britannica at 300 pixels/inch and 1 bit/pixes requires 25 gigabytes (25K pages)

• 90 minute movie at 640x480, 24 bits per pixels, 24 frames per second requires 120 gigabytes

• Applications: HDTV, DVD, satellite image transmission, medial image processing, fax, ...

Page 45: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Exploiting Coding Redundancy

• Not limited to images (text, other digital info)• Exploit nonuniform probabilities of symbols• Entropy as measure of information content

– H = -Si Prob(si) log2 (Prob(si))

– Low entropy non uniform probability– High entropy uniform probability

– If source is independent random variable need H bits

Page 46: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Exploiting Coding Redundancy

• Idea:– More frequent symbols get shorter code strings– Best with high redundancy (= low entropy)

• Common algorithms– Huffman coding– LZW coding (gzip)

Page 47: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Huffman Coding

• Codebook is precomputed and static–Use probability of each symbol to assign code

–Map symbol to code

–Store codebook and code sequence

• Precomputation is expensive

• What is “symbol” for image compression?

lossless

Page 48: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Exploiting Interpixel Redundancy

• Neighboring pixels are correlated• Spatial methods for low-noise image

– Run-length coding:» Alternate values and run-length» Good if horizontal neighbors are same» Can be 1D or 2D (e.g. used in fax standard)» WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWW

WWWWWWWWWBWWWWWWWWWWWWWW » 12W 1B 12W 3B 24W 1B 14W

– Quadtrees:» Recursively subdivide until cells are constant color

– Region encoding:» Represent boundary curves of color-constant regions

lossless

Page 49: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Improving Noise Tolerance

• Predictive coding:– Predict next pixel based on prior ones

– Output difference to actual

• Transform coding– Exploit frequency domain

– Example: discrete cosine transform (DCT)

– Used in JPEG

lossy compression

Page 50: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Discrete Cosine Transform• Used for lossy compression (as in JPEG)

–Subdivide image into n x n blocks (n = 8)

–Apply discrete cosine transform for each block

–Each tile is converted to frequency space

Page 51: Image Processing Point Processing Filters Dithering Image Compositing Image Compression Point Processing Filters Dithering Image Compositing Image Compression.

Discrete Cosine Transform• Quantize

– Human eye good at seeing variations over large area

– Not good at seeing the exact strength of a high frequency – Greatly reducing the amount of information in the high frequency components

• Use variable length coding (e.g. Huffman)