Image Processing. Overview. Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization. Sampling and Reconstruction
|
|
- Dortha Brooke Pope
- 5 years ago
- Views:
Transcription
1 Image Processing 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 1
2 What is an Image? An image is a 2D rectilinear array of pixels Continuous image Digital image What is an Image? An image is a 2D rectilinear array of pixels Continuous image Digital image 2
3 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!! Image Acquisition Pixels are samples from continuous function Photoreceptors in eye CCD cells in digital camera Rays in virtual camera 3
4 Image Display Re-create continuous function from samples Example: cathode ray tube Image is reconstructed by displaying pixels with finite area (Gaussian) 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 4
5 Sources of Error Intensity quantization Not enough intensity resolution Spatial aliasing Not enough spatial resolution Temporal aliasing Not enough temporal resolution E 2 = ( x, y ) ( I( x, y) P( x, y) ) 2 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 5
6 Quantization Artifact due to limited intensity resolution Frame buffers have limited number of bits per pixel Physical devices have limited dynamic range Blue channel Green channel Red channel Uniform Quantization P ( x, y) = trunc( I ( x, y) + 0.5) I(x, y) P(x, y) 2 bits per pixel 6
7 Uniform Quantization Image with decreasing bits per pixel: 8 bits 4 bits 2 bits 1 bit Notice contouring Reducing Effects of Quantization Halftoning Classical halftoning Dithering Random dither Ordered dither Error diffusion dither 7
8 Classical Halftoning Use dots of varying size to representation intensities Area of dots proportional to intensity in image I(x, y) P(x, y) Classical Halftoning Newspaper image From New York Times 9/21/99 8
9 Halftone Patterns Use cluster of pixels to represent intensity Trade spatial resolution for intensity resolution Halftone Patterns How many intensities in a n x n cluster? 9
10 Dithering Distribute errors among pixels Exploit spatial integration in our eye Display greater range of perceptible intensities Original (8 bits) Uniform Quantization (1 bit) Floyd-Steinberg Dither (1 bit) Random Dither Randomize quantization errors Errors appear as noise P ( x, y) = trunc( I ( x, y) + noise( x, y) + 0.5) 10
11 Random Dither Original (8 bits) Uniform Quantization (1 bit) Random Dither (1 bit) Ordered Dither Pseudo-random quantization errors Matrix stores pattern of thresholds j = x mod n i = y mod n e = 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)) D 2 3 =
12 Ordered Dither Original (8 bits) Uniform Quantization (1 bit) Ordered Dither (1 bit) Error Diffusion Dither Spread quantization error over neighbor pixels Error dispersed to pixels right and below α β γ δ α + β + γ + δ =
13 Error Diffusion Dither Original (8 bits) Random Dither (1 bit) Ordered Dither (1 bit) Floyd-Steinberg Dither (1 bit) 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 13
14 Sampling and Reconstruction Sampling Reconstruction Sampling and Reconstruction 14
15 Aliasing In general: Artifacts due to under-sampling or poor reconstruction Specifically, in graphics: Spatial aliasing Temporal aliasing Under-sampling Spatial Aliasing Artifacts due to limited spatial resolution 15
16 Spatial Aliasing Artifacts due to limited spatial resolution Jaggies Temporal Aliasing Artifacts due to Limited Temporal Resolution Strobing Flickering 16
17 Temporal Aliasing Artifacts due to Limited Temporal Resolution Strobing Flickering Temporal Aliasing Artifacts due to Limited Temporal Resolution Strobing Flickering 17
18 Temporal Aliasing Artifacts due to Limited Temporal Resolution Strobing Flickering 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! 18
19 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? 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. 19
20 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 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 20
21 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 Adjusting Brightness Simply scale pixel components Must clamp to range (e.g., 0 to 255) Original Brighter 21
22 Adjusting Contrast Compute mean luminance L for all pixels Luminance = 0.30*r *g *b Scale deviation from L for each pixel component Must clamp to range (e.g. 0 to 255) L Original More contrast 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 22
23 Adjusting Blurriness Convolve with a filter whose entries sum to one Each pixel becomes a weighted average of its neighbors Original Blur 1 16 Filter = Edge Detection Convolve with a filter that finds differences between neighbor pixels Original Edge Detection 1 Filter =
24 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 Image Warping Move pixels of image Mapping Resampling Warp Source Image Destination Image 24
25 Overview Mapping Forward Reverse Resampling Point sampling Triangle filter Gaussian filter Mapping Define transformation Describe the destination (x, y) for every location (u, v) in the source (or vice-versa, if invertible) v y u x 25
26 Example Mappings Scale by factor : x = factor * u y = factor * v v y Scale 0.8 u x Example Mappings Rotate by θ degrees: x = u cos θ v sin θ y = u sin θ + v cos θ y v Rotate 30 u x 26
27 Example Mappings Shear in X by factor : x = u + factor * v y = v v Shear X 1.3 y Shear in Y by factor : x = u y = v + factor * u v u y Shear Y 1.3 x u x Other Mappings Any function of u and v : x = f x (u, v) y = f y (u, v) Fish-eye Swirl Rain 27
28 Image Warping Implementation I Forward mapping : for(int u=0; u<umax; u++) { for(int v=0; v<vmax; v++) { float x = f x (u,v); float y = f y (u,v); dst(x,y) = src(u,v); } } (u, v) f (x, y) Source Image Destination Image Forwarding Mapping Iterate over source image v y Rotate -30 u x 28
29 Forwarding Mapping NOT Iterate over source image Many source pixels can map to same destination pixel y v Rotate -30 u x Forwarding Mapping NOT Iterate over source image v Many source pixels can map to same destination pixel y Some destination pixels may not be covered Rotate -30 u x 29
30 Image Warping Implementation II Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = f x -1 (x,y); float v = f y -1 (x,y); dst(x,y) = src(u,v); } } (u, v) f (x, y) Source Image Destination Image Reverse Mapping Iterate over destination image Must resample source May oversample, but much simpler! y v Rotate -30 u x 30
31 Resampling Evaluate source image at arbitrary (u, v) (u, v) does not usually have integer coordinates (u, v) (x, y) Source Image Destination Image Overview Mapping Forward Reverse Resampling Point sampling Triangle filter Gaussian filter 31
32 Point Sampling Take value at closest pixel int iu = trunc(u+0.5); int iv = trunc(v+0.5); dst(x, y) = src(iu, iv); v y This method is simple, but it causes aliasing Rotate -30 Scale 0.5 u x Triangle Filtering Convolve with triangle filter Input Output 32
33 Triangle Filtering Bilinearly interpolate four closest pixels a = linear interpolation of src(u 1, v 2 ) and src(u 2, v 2 ) b = linear interpolation of src(u 1, v 1 ) and src(u 2, v 1 ) dst(x, y) = linear interpolation of a and b a (u 1, v 2 ) (u 2, v 2 ) (u, v) (u 1, v 1 ) b (u 2, v 1 ) Gaussian Filtering Convolve with Gaussian filter Input Output Width of Gaussian kernel affects bluriness 33
34 Gaussian Filtering Compute weighted sum of pixel neighborhood : Weights are normalized values of Gaussian function (u, v) Filtering Methods Comparison Trade-offs Aliasing versus blurring Computation speed Point Bilinear Gaussian 34
35 Image Warping Implementation III Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = f x -1 (x,y); float v = f y -1 (x,y); dst(x,y) = resample_src(u,v,w); } } (u, v) f (x, y) Source Image Destination Image Image Warping Implementation III Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = f x -1 (x,y); float v = f y -1 (x,y); dst(x,y) = resample_src(u,v,w); } } (u, v) w f (x, y) Source Image Destination Image 35
36 Example: Scale Scale (src, dst, sx, sy) : float w max(1/sx, 1/sy) for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = x/sx ; float v = y/sy; dst(x,y) = resample_src(u,v,w); } v y } (u, v) Scale 0.5 (x, y) u x Example: Rotate Rotate (src, dst, theta) for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = x*cos(-θ)-y*sin(-θ) float v = x*sin(-θ)+y*cos(-θ) dst(x,y) = resample_src(u,v,w); } y } v (u, v) (x, y) Rotate 30 u x 36
37 Example: Fun Swirl (src, dst, theta) for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = rot(dist(x,xcenter)*θ) float v = rot(dist(y,ycenter)*θ) dst(x,y) = resample_src(u,v,w); } } v (u, v) y (x, y) Swirl 45 u x 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 37
38 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 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 38
39 Overview Image compositing Blue-screen mattes Alpha channel Porter-Duff compositing algebra Image morphing Specifying correspondences Warping Blending Image Compositing Separate an image into elements Render independently Composite together Applications Cel animation Chroma-keying Blue-screen matting Dobkin meets Elvis 39
40 Blue-Screen Matting Composite foreground and background images Create background image Create foreground image with blue background Insert non-blue foreground pixels into background Alpha Channel Encodes pixel coverage information α = 0 : no coverage (or transparent) α = 1 : full coverage (or opaque) 0 < α < 1 : partial coverage (or semi-transparent) Example : α = 0.3 or Partial coverage Semi-Transparent 40
41 Compositing with Alpha Controls the linear interpolation of foreground and background pixels when elements are composited α = 0 0< α < 1 α = 1 Pixels with Alpha Alpha channel convention : (r, g, b, α) represents a pixel that is α covered by the color C=(r/α, g/α, b/α) Color components are premultiplied by α Can display (r, g, b) values directly Closure in composition algebra What is the meaning of the following? (0, 1, 0, 1) = (0, ½, 0, 1) = (0, ½, 0, ½) = (0, ½, 0, 0) = 41
42 Pixels with Alpha Alpha channel convention : (r, g, b, α) represents a pixel that is α covered by the color C=(r/α, g/α, b/α) Color components are premultiplied by α Can display (r, g, b) values directly Closure in composition algebra What is the meaning of the following? (0, 1, 0, 1) = full green, full coverage (0, ½, 0, 1) = half green, full coverage (0, ½, 0, ½) = full green, half coverage (0, ½, 0, 0) = no coverage Semi-Transparent Objects Suppose we put A over B over background G A B G How much of B is blocked by A? 42
43 Semi-Transparent Objects Suppose we put A over B over background G A B G α A How much of B is blocked by A? How much of B is shows through A? Semi-Transparent Objects Suppose we put A over B over background G A B G α A How much of B is blocked by A? How much (1 α of B is shows through A? A ) How much of G shows through both A and B? 43
44 Semi-Transparent Objects Suppose we put A over B over background G A B G α A How much of B is blocked by A? How much (1 α of B is shows through A? A ) How much of G shows through both A and B? (1 α A ) (1 α B ) Opaque Objects How do we combine 2 partially covered pixels 3 possible colors (0, A, B) 4 regions (0, A, B, AB) A AB B A 0 B 44
45 Composition Algebra 12 reasonable combinations clear A B A over B B over A A in B B in A A out B B out A A atop B B atop A A xor B Example: C = A over B For colors that are not premultiplied : C = α A A + (1 α A ) α B B α = α A + (1 α A ) α B For colors that are premultiplied : C = A + (1 α A ) B α = α A + (1 α A ) α B A over B 45
46 Image Composition Example Jurassic Park Overview Image compositing Blue-screen mattes Alpha channel Porter-Duff compositing algebra Image morphing Specifying correspondences Warping Blending 46
47 Image Morphing Animate transition between two images Cross-Dissolving Blend image with over operator Alpha of bottom image is 1.0 Alpha of top image varies from 0.0 to 1.0 blend ( i, j) = ( 1 t) src( i, j) + t dst( i, j) ( 0 t 1) 47
48 Image Morphing Combines warping and cross-dissolving Image Morphing The warping step is the hard one Aim to align feature in images How specify mapping for the warp? 48
49 Feature Based Warping Beier & Neeley use pairs of lines to specify warp Given p in destination image, where is p in source image? Beier & Neeley SIGGRAPH 92 Warping with One Line Pair What happens to the F? Translation 49
50 Warping with One Line Pair What happens to the F? Scale Warping with One Line Pair What happens to the F? Rotation 50
51 Warping with One Line Pair What happens to the F? In general, similarity transformations Warping with Multiple Line Pairs Use weighted combination of points defined by each pair of corresponding lines 51
52 Warping with Multiple Line Pairs Use weighted combination of points defined by each pair of corresponding lines P is a weighted average Weighting Effect of Each Line Pair To weight the contribution of each line pair : weight [ i] = p ( length[ i] ) a + dist[ i] b Where length[i] is the length of the i-th line dist[i] is the distance from a point P to the i-th line a, b, p are constants that control the wrap 52
53 Warping Pseudocode WarpImage(Image, L [ ], L[ ]) Begin for each destination pixel p do psum = (0, 0) wsum = 0 for each line L[i] in destination do p [i] = p transformed by (L[i], L [i]) psum += p [i] * weight[i] wsum += weight[i] end p = psum / wsum Morphing Pseudocode GenerateAnimation(Image 0, L 0 [ ], Image 1, L 1 [ ]) Begin for each intermediate frame time t do for i=1 to number of line pairs do L[i] = line t-th of the way from L 0 [i] to L 1 [i] end Warp 0 = WarpImage(Image 0, L 0, L) Warp 1 = WarpImage(Image 1, L 1, L) for each pixel p in FinalImage do Result(p) = (1-t)*Warp 0 + t*warp 1 end 53
54 Beier & Neeley Example Image 0 Image 1 Warp 0 Warp 1 Result Beier & Neeley Example Image 0 Image 1 Warp 0 Warp 1 Result 54
55 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 55
Image Processing, Warping, and Sampling
Image Processing, Warping, and Sampling Michael Kazhdan (601.457/657) HB Ch. 4.8 FvDFH Ch. 14.10 Outline Image Processing Image Warping Image Sampling Image Processing What about the case when the modification
More informationSampling, Resampling, and Warping. COS 426, Spring 2014 Tom Funkhouser
Sampling, Resampling, and Warping COS 426, Spring 2014 Tom Funkhouser Image Processing Goal: read an image, process it, write the result input.jpg output.jpg imgpro input.jpg output.jpg histogram_equalization
More informationImage Compositing & Morphing COS 426
Image Compositing & Morphing COS 426 Digital Image Processing Changing intensity/color Linear: scale, offset, etc. Nonlinear: gamma, saturation, etc. Add random noise Filtering over neighborhoods Blur
More informationImage Morphing. Michael Kazhdan ( /657) HB Ch Feature Based Image Metamorphosis, Beier and Neely 1992
Image Morphing Michael Kazhdan (601.457/657) HB Ch. 16.5 Feature Based Image Metamorphosis, Beier and Neely 1992 Image Morphing Animate transition between two images H&B Figure 16.9 Image Morphing Animate
More informationImage Filtering, Warping and Sampling
Image Filtering, Warping and Sampling Connelly Barnes CS 4810 University of Virginia Acknowledgement: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David
More informationImage Warping, Compositing & Morphing
Image Processing Image Warping, Compositing & Morphing Adam Finkelstein Princeton Uniersit COS 426, Spring 2005 Image Processing Qantization Uniform Qantization Random dither Ordered dither Flod-Steinberg
More informationAliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ):
(Anti)Aliasing and Image Manipulation for (y = 0; y < Size; y++) { for (x = 0; x < Size; x++) { Image[x][y] = 7 + 8 * sin((sqr(x Size) + SQR(y Size)) / 3.0); } } // Size = Size / ; Aliasing Can t draw
More informationImage Compositing & Morphing
Image Cmpsiting & Mrphing Adam Finkelstein & Tim Weyrich Princetn University COS 426, Spring 2008 Image Prcessing Pixel peratins Add randm nise Add luminance Add cntrast Add saturatin Blur Detect edges
More informationOutline. Sampling and Reconstruction. Sampling and Reconstruction. Foundations of Computer Graphics (Fall 2012)
Foundations of Computer Graphics (Fall 2012) CS 184, Lectures 19: Sampling and Reconstruction http://inst.eecs.berkeley.edu/~cs184 Outline Basic ideas of sampling, reconstruction, aliasing Signal processing
More informationBasics. Sampling and Reconstruction. Sampling and Reconstruction. Outline. (Spatial) Aliasing. Advanced Computer Graphics (Fall 2010)
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Some slides courtesy Thomas Funkhouser and Pat Hanrahan
More informationThe simplest and most obvious method to go from a continuous to a discrete image is by point sampling,
Sampling our scenes are described with triangles giving a continuous 2d color field our images are digital/discrete made up of a grid of dots need to make a bridge between these two worlds else we will
More informationOutline. Foundations of Computer Graphics (Spring 2012)
Foundations of Computer Graphics (Spring 2012) CS 184, Lectures 19: Sampling and Reconstruction http://inst.eecs.berkeley.edu/~cs184 Basic ideas of sampling, reconstruction, aliasing Signal processing
More informationInteractive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is.
Interactive Computer Graphics Warping and morphing Lecture 14+15: Warping and Morphing Lecture 14: Warping and Morphing: Slide 1 Lecture 14: Warping and Morphing: Slide 2 Warping and Morphing What is Warping
More informationImage Processing. Alpha Channel. Blending. Image Compositing. Blending Errors. Blending in OpenGL
CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 6, 7] Jernej Barbic University of Southern California Alpha Channel Frame buffer Simple color model:
More informationSampling and Reconstruction
Page 1 Sampling and Reconstruction The sampling and reconstruction process Real world: continuous Digital world: discrete Basic signal processing Fourier transforms The convolution theorem The sampling
More informationImage Processing. CSCI 420 Computer Graphics Lecture 22
CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 7.13, 8.11-8.12] Jernej Barbic University of Southern California 1 Alpha Channel Frame buffer Simple
More informationTheoretically Perfect Sensor
Sampling 1/60 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all
More informationTo Do. Advanced Computer Graphics. Discrete Convolution. Outline. Outline. Implementing Discrete Convolution
Advanced Computer Graphics CSE 163 [Spring 2018], Lecture 4 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir To Do Assignment 1, Due Apr 27. Please START EARLY This lecture completes all the material you
More informationTheoretically Perfect Sensor
Sampling 1/67 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all
More informationImage Compositing. Key Concepts. Colbert Challenge
CS148: Introduction to Computer Graphics and Imaging Image Compositing Colbert Challenge Key Concepts Optical compositing and mattes The alpha channel Compositing operators Premultipled alpha Matte extraction
More informationTo Do. Advanced Computer Graphics. Sampling and Reconstruction. Outline. Sign up for Piazza
Advanced Computer Graphics CSE 63 [Spring 207], Lecture 3 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Sign up for Piazza To Do Assignment, Due Apr 28. Anyone need help finding partners? Any issues with
More informationCMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014
CMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014 TA: Josh Bradley 1 Linear Algebra Review 1.1 Vector Multiplication Suppose we have a vector a = [ x a y a ] T z a. Then for some
More informationSampling, Aliasing, & Mipmaps
Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere Sampling sensitive to choice of samples less sensitive to choice of samples
More informationBroad field that includes low-level operations as well as complex high-level algorithms
Image processing About Broad field that includes low-level operations as well as complex high-level algorithms Low-level image processing Computer vision Computational photography Several procedures and
More informationDD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication
DD2423 Image Analysis and Computer Vision IMAGE FORMATION Mårten Björkman Computational Vision and Active Perception School of Computer Science and Communication November 8, 2013 1 Image formation Goal:
More informationImage warping/morphing
Image warping/morphing Digital Visual Effects Yung-Yu Chuang with slides by Richard Szeliski, Steve Seitz, Tom Funkhouser and Alexei Efros Image warping Image formation B A Sampling and quantization What
More informationInteractive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing
Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results
More informationSampling: Application to 2D Transformations
Sampling: Application to 2D Transformations University of the Philippines - Diliman August Diane Lingrand lingrand@polytech.unice.fr http://www.essi.fr/~lingrand Sampling Computer images are manipulated
More information8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction
Introduction Transparency effects and applications Anti-Aliasing impact in the final image Why combine Transparency with Anti-Aliasing? Marilena Maule João Comba Rafael Torchelsen Rui Bastos UFRGS UFRGS
More informationImage warping/morphing
Image warping/morphing Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/20 with slides b Richard Szeliski, Steve Seitz, Tom Funkhouser and Aleei Efros Image warping Image formation B A Sampling
More informationCS559: Computer Graphics. Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008 Antialising Today Hidden Surface Removal Reading: Shirley ch 3.7 8 OpenGL ch 1 Last time A 2 (x 0 y 0 ) (x 1 y 1 ) P
More informationImage Processing Computer Graphics I Lecture 15
15-462 Computer Graphics I Lecture 15 Image Processing Blending Display Color Models Filters Dithering Image Compression March 18, 23 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More informationSampling, Aliasing, & Mipmaps
Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere What is a Pixel? Sampling & Reconstruction Filters in Computer Graphics
More informationImage Processing. Blending. Blending in OpenGL. Image Compositing. Blending Errors. Antialiasing Revisited Computer Graphics I Lecture 15
15-462 Computer Graphics I Lecture 15 Image Processing Blending Display Color Models Filters Dithering Image Compression March 18, 23 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More informationVolume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics
Volume Rendering Computer Animation and Visualisation Lecture 9 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Volume Data Usually, a data uniformly distributed
More informationCPSC 4040/6040 Computer Graphics Images. Joshua Levine
CPSC 4040/6040 Computer Graphics Images Joshua Levine levinej@clemson.edu Lecture 19 Projective Warping and Bilinear Warping Nov. 3, 2015 Agenda EC Quiz Review PA06 out Refresher from Lec18 https://en.wikipedia.org/wiki/affine_transformation
More informationBCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done
BCC Textured Wipe The BCC Textured Wipe creates is a non-geometric wipe using the Influence layer and the Texture settings. By default, the Influence is generated from the luminance of the outgoing clip
More informationImage Acquisition + Histograms
Image Processing - Lesson 1 Image Acquisition + Histograms Image Characteristics Image Acquisition Image Digitization Sampling Quantization Histograms Histogram Equalization What is an Image? An image
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationImage Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips
Image Morphing Image Morphing Image Morphing Image Morphing The user is responsible for defining correspondences between features Very popular technique since Michael Jackson s clips Morphing Coordinate
More informationComputer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing
Computer Graphics Texture Filtering & Sampling Theory Hendrik Lensch Overview Last time Texture Parameterization Procedural Shading Today Texturing Filtering 2D Texture Mapping Forward mapping Object surface
More informationVisible Color. 700 (red) 580 (yellow) 520 (green)
Color Theory Physical Color Visible energy - small portion of the electro-magnetic spectrum Pure monochromatic colors are found at wavelengths between 380nm (violet) and 780nm (red) 380 780 Color Theory
More informationMultimedia Technology CHAPTER 4. Video and Animation
CHAPTER 4 Video and Animation - Both video and animation give us a sense of motion. They exploit some properties of human eye s ability of viewing pictures. - Motion video is the element of multimedia
More informationSampling, Aliasing, & Mipmaps
Last Time? Sampling, Aliasing, & Mipmaps 2D Texture Mapping Perspective Correct Interpolation Common Texture Coordinate Projections Bump Mapping Displacement Mapping Environment Mapping Texture Maps for
More informationBCC Linear Wipe. When the Invert Wipe Checkbox is selected, the alpha channel created by the wipe inverts.
BCC Linear Wipe BCC Linear Wipe is similar to a Horizontal wipe. However, it offers a variety parameters for you to customize. This filter is similar to the BCC Rectangular Wipe filter, but wipes in a
More informationI have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics
Announcements Assignment 4 will be out later today Problem Set 3 is due today or tomorrow by 9am in my mail box (4 th floor NSH) How are the machines working out? I have a meeting with Peter Lee and Bob
More informationAnnouncements. Written Assignment 2 out (due March 8) Computer Graphics
Announcements Written Assignment 2 out (due March 8) 1 Advanced Ray Tracing (Recursive) Ray Tracing Antialiasing Motion Blur Distribution Ray Tracing Ray Tracing and Radiosity Assumptions Simple shading
More informationPreviously... contour or image rendering in 2D
Volume Rendering Visualisation Lecture 10 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Previously... contour or image rendering in 2D 2D Contour line
More informationBCC Multi Stretch Wipe
BCC Multi Stretch Wipe The BCC Multi Stretch Wipe is a radial wipe with three additional stretch controls named Taffy Stretch. The Taffy Stretch parameters do not significantly impact render times. The
More informationDominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment
Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field
More informationAliasing and Antialiasing. ITCS 4120/ Aliasing and Antialiasing
Aliasing and Antialiasing ITCS 4120/5120 1 Aliasing and Antialiasing What is Aliasing? Errors and Artifacts arising during rendering, due to the conversion from a continuously defined illumination field
More informationVolume Rendering. Lecture 21
Volume Rendering Lecture 21 Acknowledgements These slides are collected from many sources. A particularly valuable source is the IEEE Visualization conference tutorials. Sources from: Roger Crawfis, Klaus
More informationAdvanced Computer Graphics. Aliasing. Matthias Teschner. Computer Science Department University of Freiburg
Advanced Computer Graphics Aliasing Matthias Teschner Computer Science Department University of Freiburg Outline motivation Fourier analysis filtering sampling reconstruction / aliasing antialiasing University
More informationComputer Graphics. Lecture 8 Antialiasing, Texture Mapping
Computer Graphics Lecture 8 Antialiasing, Texture Mapping Today Texture mapping Antialiasing Antialiasing-textures Texture Mapping : Why needed? Adding details using high resolution polygon meshes is costly
More informationComputer Graphics and Image Processing
Computer Graphics and Image Processing Lecture B2 Point Processing Joseph Niepce, 1826. The view from my window 1 Context How much input is used to compute an output value? Point Transforms Region Transforms
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationPhysical Color. Color Theory - Center for Graphics and Geometric Computing, Technion 2
Color Theory Physical Color Visible energy - small portion of the electro-magnetic spectrum Pure monochromatic colors are found at wavelengths between 380nm (violet) and 780nm (red) 380 780 Color Theory
More informationthe gamedesigninitiative at cornell university Lecture 17 Color and Textures
Lecture 7 Color and Textures Take Away For Today Image color and composition What is RGB model for images? What does alpha represent? How does alpha composition work? Graphics primitives How do primitives
More informationWarps, Filters, and Morph Interpolation
Warps, Filters, and Morph Interpolation Material in this presentation is largely based on/derived from slides originally by Szeliski, Seitz and Efros Brent M. Dingle, Ph.D. 2015 Game Design and Development
More informationComputer Vision I - Basics of Image Processing Part 1
Computer Vision I - Basics of Image Processing Part 1 Carsten Rother 28/10/2014 Computer Vision I: Basics of Image Processing Link to lectures Computer Vision I: Basics of Image Processing 28/10/2014 2
More informationMatching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.
Matching Compare region of image to region of image. We talked about this for stereo. Important for motion. Epipolar constraint unknown. But motion small. Recognition Find object in image. Recognize object.
More informationEE795: Computer Vision and Intelligent Systems
EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 WRI C225 Lecture 02 130124 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Basics Image Formation Image Processing 3 Intelligent
More informationUlrik Söderström 17 Jan Image Processing. Introduction
Ulrik Söderström ulrik.soderstrom@tfe.umu.se 17 Jan 2017 Image Processing Introduction Image Processsing Typical goals: Improve images for human interpretation Image processing Processing of images for
More informationScan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272
Scan line algorithm The scan line algorithm is an alternative to the seed fill algorithm. It does not require scan conversion of the edges before filling the polygons It can be applied simultaneously to
More informationTexture Mapping 1/34
Texture Mapping 1/34 Texture Mapping Offsets the modeling assumption that the BRDF doesn t change in u and v coordinates along the object s surface Store a reflectance as an image called a texture Map
More informationImage Warping: A Review. Prof. George Wolberg Dept. of Computer Science City College of New York
Image Warping: A Review Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we review digital image warping: - Geometric transformations - Forward inverse
More informationDrawing a Triangle (and an introduction to sampling)
Lecture 4: Drawing a Triangle (and an introduction to sampling) Computer Graphics CMU 15-462/15-662, Spring 2017 Assignment 1 is out! https://15462-s17.github.io/asst1_drawsvg/ Let s draw some triangles
More informationAnno accademico 2006/2007. Davide Migliore
Robotica Anno accademico 6/7 Davide Migliore migliore@elet.polimi.it Today What is a feature? Some useful information The world of features: Detectors Edges detection Corners/Points detection Descriptors?!?!?
More informationMotivation. Intensity Levels
Motivation Image Intensity and Point Operations Dr. Edmund Lam Department of Electrical and Electronic Engineering The University of Hong ong A digital image is a matrix of numbers, each corresponding
More informationImage Sampling and Quantisation
Image Sampling and Quantisation Introduction to Signal and Image Processing Prof. Dr. Philippe Cattin MIAC, University of Basel 1 of 46 22.02.2016 09:17 Contents Contents 1 Motivation 2 Sampling Introduction
More informationImage Sampling & Quantisation
Image Sampling & Quantisation Biomedical Image Analysis Prof. Dr. Philippe Cattin MIAC, University of Basel Contents 1 Motivation 2 Sampling Introduction and Motivation Sampling Example Quantisation Example
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture
More informationThe main goal of Computer Graphics is to generate 2D images 2D images are continuous 2D functions (or signals)
Motivation The main goal of Computer Graphics is to generate 2D images 2D images are continuous 2D functions (or signals) monochrome f(x,y) or color r(x,y), g(x,y), b(x,y) These functions are represented
More informationRasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?
Where does a picture come from? Rasterization and Graphics Hardware CS559 Course Notes Not for Projection November 2007, Mike Gleicher Result: image (raster) Input 2D/3D model of the world Rendering term
More informationCS 543: Computer Graphics. Rasterization
CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots
More informationLecture 11: Output 2. Fall UI Design and Implementation 1
Lecture 11: Output 2 Fall 2006 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Fall 2006 6.831 UI Design and Implementation 2 Here s our hall of fame example. StatCounter is a web site
More informationChapter 18. Geometric Operations
Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;
More informationProf. Feng Liu. Winter /05/2019
Prof. Feng Liu Winter 2019 http://www.cs.pd.edu/~fliu/courses/cs410/ 02/05/2019 Last Time Image alignment 2 Toda Image warping The slides for this topic are used from Prof. Yung-Yu Chuang, which use materials
More informationEECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines
EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation
More informationPoint-Based Rendering
Point-Based Rendering Kobbelt & Botsch, Computers & Graphics 2004 Surface Splatting (EWA: Elliptic Weighted Averaging) Main Idea Signal Processing Basics Resampling Gaussian Filters Reconstruction Kernels
More informationconvolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection
COS 429: COMPUTER VISON Linear Filters and Edge Detection convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection Reading:
More informationBCC Rays Ripply Filter
BCC Rays Ripply Filter The BCC Rays Ripply filter combines a light rays effect with a rippled light effect. The resulting light is generated from a selected channel in the source image and spreads from
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Lecture 8: Antialiasing Kurt Akeley Pat Hanrahan http://graphics.stanford.edu/cs448-07-spring/ Antialiasing Outline Aliasing and antialiasing Taxonomy of antialiasing approaches
More informationDigital Image Processing COSC 6380/4393
Digital Image Processing COSC 6380/4393 Lecture 21 Nov 16 th, 2017 Pranav Mantini Ack: Shah. M Image Processing Geometric Transformation Point Operations Filtering (spatial, Frequency) Input Restoration/
More informationComputer Science 426 Midterm 3/11/04, 1:30PM-2:50PM
NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space
More informationComputer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek
Computer Graphics Sampling Theory & Anti-Aliasing Philipp Slusallek Dirac Comb (1) Constant & δ-function flash Comb/Shah function 2 Dirac Comb (2) Constant & δ-function Duality f(x) = K F(ω) = K (ω) And
More informationGraphics and Interaction Transformation geometry and homogeneous coordinates
433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationThe SIFT (Scale Invariant Feature
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor developed by David Lowe University of British Columbia Initial paper ICCV 1999 Newer journal paper IJCV 2004 Review: Matt Brown s Canonical
More informationCOMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates
COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationBiometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)
Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) References: [1] http://homepages.inf.ed.ac.uk/rbf/hipr2/index.htm [2] http://www.cs.wisc.edu/~dyer/cs540/notes/vision.html
More informationIntroduction to Computer Vision. Week 3, Fall 2010 Instructor: Prof. Ko Nishino
Introduction to Computer Vision Week 3, Fall 2010 Instructor: Prof. Ko Nishino Last Week! Image Sensing " Our eyes: rods and cones " CCD, CMOS, Rolling Shutter " Sensing brightness and sensing color! Projective
More informationPoint Operations. Prof. George Wolberg Dept. of Computer Science City College of New York
Point Operations Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we describe point operations commonly used in image processing: - Thresholding - Quantization
More informationShear-Warp Volume Rendering. Volume Rendering Overview
Shear-Warp Volume Rendering R. Daniel Bergeron Department of Computer Science University of New Hampshire Durham, NH 03824 From: Lacroute and Levoy, Fast Volume Rendering Using a Shear-Warp- Factorization
More informationCS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu
CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer by Emmanuel Agu Ray Casting (Appel, 1968) direct illumination Recursive ray tracing (Whitted, 1980) Pseudocode for Ray Tracer
More informationMotivation. The main goal of Computer Graphics is to generate 2D images. 2D images are continuous 2D functions (or signals)
Motivation The main goal of Computer Graphics is to generate 2D images 2D images are continuous 2D functions (or signals) monochrome f(x,y) or color r(x,y), g(x,y), b(x,y) These functions are represented
More informationAnnouncements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image
2/3/ Announcements PA is due in week Image atching! Leave time to learn OpenCV Think of & implement something creative CS 50 Lecture #5 February 3 rd, 20 2/ 3/ 2 Compare a big image to a small image So
More informationEXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,
School of Computer Science and Communication, KTH Danica Kragic EXAM SOLUTIONS Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006, 14.00 19.00 Grade table 0-25 U 26-35 3 36-45
More informationLecture 7: Most Common Edge Detectors
#1 Lecture 7: Most Common Edge Detectors Saad Bedros sbedros@umn.edu Edge Detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the
More informationCPSC 425: Computer Vision
CPSC 425: Computer Vision Image Credit: https://docs.adaptive-vision.com/4.7/studio/machine_vision_guide/templatematching.html Lecture 9: Template Matching (cont.) and Scaled Representations ( unless otherwise
More information