graphics graphics lab @ korea university cgvr.korea.ac.kr image processing 고려대학교 컴퓨터...

39
Graphics Graphics Lab @ Korea University Image Processing 고고고고고 고고고 고고고고 고고고

Upload: benjamin-ray

Post on 25-Dec-2015

224 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

Graphics

Graphics Lab @ Korea University

Image Processing

고려대학교 컴퓨터 그래픽스 연구실

Page 2: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Overview

Image Representation What is an image?

Halftoning and Dithering Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization

Sampling and Reconstruction Key steps in image processing Avoid visual artifacts due to aliasing

Page 3: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

What is an Image?

An image is a 2D rectilinear array of pixels

Continuous image Digital image

Page 4: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

What is an Image?

An image is a 2D rectilinear array of pixels

Continuous image Digital image

Page 5: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

What is an Image?

An image is a 2D rectilinear array of pixels

Continuous image Digital image

A pixel is a sample, not a little square!!

Page 6: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Image Acquisition

Pixels are samples from continuous function Photoreceptors in eye CCD cells in digital camera Rays in virtual camera

Page 7: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Image Display

Re-create continuous function from samples Example: cathode ray tube

Image is reconstructed by displaying pixels with finite area

(Gaussian)

Page 8: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Image Resolution

Intensity resolution Each pixel has only “Depth” bits for colors/intensities

Spatial resolution Image has only “Width” x “Height” pixels

Temporal resolution Monitor refreshes images at only “Rate” Hz

Page 9: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Sources of Error

Intensity quantization Not enough intensity resolution

Spatial aliasing Not enough spatial resolution

Temporal aliasing Not enough temporal resolution

yx

yxPyxIE,

22 ,,

Page 10: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Overview

Image Representation What is an image?

Halftoning and Dithering Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization

Sampling and Reconstruction Key steps in image processing Avoid visual artifacts due to aliasing

Page 11: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Quantization

Artifact due to limited intensity resolution Frame buffers have limited number of bits per pixel Physical devices have limited dynamic range

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

255 150 75 0

Blue channel

Green channel

Red channel

Page 12: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Uniform Quantization

5.0,trunc, yxIyxP

I(x, y)

P(x, y)2 bits per pixel

Page 13: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Uniform Quantization

Image with decreasing bits per pixel:

8 bits 4 bits 2 bits 1 bit

Notice contouring

Page 14: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Reducing Effects of Quantization

Halftoning Classical halftoning

Dithering Random dither Ordered dither Error diffusion dither

Page 15: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Classical Halftoning

Use dots of varying size to representation intensities Area of dots proportional to intensity in image

I(x, y) P(x, y)

Page 16: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Classical Halftoning

Newspaper image

From New York Times 9/21/99

Page 17: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Halftone Patterns

Use cluster of pixels to represent intensity Trade spatial resolution for intensity resolution

Page 18: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Halftone Patterns

How many intensities in a n x n cluster?

Page 19: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Dithering

Distribute errors among pixels Exploit spatial integration in our eye Display greater range of perceptible intensities

Original(8 bits)

UniformQuantization

(1 bit)

Floyd-SteinbergDither(1 bit)

Page 20: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Random Dither

Randomize quantization errors Errors appear as noise

5.0,noise,trunc, yxyxIyxP

Page 21: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Random Dither

Original(8 bits)

UniformQuantization

(1 bit)

RandomDither(1 bit)

Page 22: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Ordered Dither

Pseudo-random quantization errors Matrix stores pattern of thresholds

20

132D

j = x mod ni = y mod ne = I(x, y) – trunc(I(x, y))if( e > D(i, j) ) P(x, y) = ceil(I(x, y))else P(x, y) = floor(I(x, y))

Page 23: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Ordered Dither

Original(8 bits)

UniformQuantization

(1 bit)

OrderedDither(1 bit)

Page 24: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Error Diffusion Dither

Spread quantization error over neighbor pixels Error dispersed to pixels right and below

α

α + β + γ + δ = 1.0

δγ

β

Page 25: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Error Diffusion Dither

Original(8 bits)

OrderedDither(1 bit)

RandomDither(1 bit)

Floyd-SteinbergDither(1 bit)

Page 26: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Overview

Image Representation What is an image?

Halftoning and Dithering Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization

Sampling and Reconstruction Key steps in image processing Avoid visual artifacts due to aliasing

Page 27: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Sampling and Reconstruction

Sampling

Reconstruction

Page 28: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Sampling and Reconstruction

Page 29: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Aliasing

In general: Artifacts due to under-sampling or poor

reconstruction

Specifically, in graphics: Spatial aliasing Temporal aliasing

Under-sampling

Page 30: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Spatial Aliasing

Artifacts due to limited spatial resolution

Page 31: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Spatial Aliasing

Artifacts due to limited spatial resolution

“Jaggies”

Page 32: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Temporal Aliasing

Artifacts due to Limited Temporal Resolution Strobing Flickering

Page 33: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Temporal Aliasing

Artifacts due to Limited Temporal Resolution Strobing Flickering

Page 34: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Temporal Aliasing

Artifacts due to Limited Temporal Resolution Strobing Flickering

Page 35: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Temporal Aliasing

Artifacts due to Limited Temporal Resolution Strobing Flickering

Page 36: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Antialiasing

Sample at higher rate Not always possible Doesn’t always solve problem

Pre-filter to form bandlimited signal Form bandlimited function (low-pass filter) Trades aliasing for blurring

Must consider sampling theory!

Page 37: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Sampling Theory

How many samples are required to represent a given signal without loss of information?

What signals can be reconstructed without loss for a given sampling rate?

Page 38: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Sampling Theorem

A signal can be reconstructed from its samples, if the original signal has no frequencies above ½ the sampling frequency – Shannon

The minimum sampling rate for bandlimited function is called “Nyquist rate”

A signal is bandlimited if its highest frequency is bounded.

The frequency is called the bandwidth.

Page 39: Graphics Graphics Lab @ Korea University cgvr.korea.ac.kr Image Processing 고려대학교 컴퓨터 그래픽스 연구실

CGVR

Graphics Lab @ Korea University

Image Processing

Quantization Uniform quantization Random dither Ordered dither Floyd-Steinberg dither

Pixel operations Add random noise Add luminance Add contrast Add saturation

Filtering Blur Detect edge

Warping Scale Rotate Warps

Combining Morphs Composite