Picking. Lecture 9. Using Back Buffer. Hw notes. Using OpenGL Selection Using Back Buffer

Size: px
Start display at page:

Download "Picking. Lecture 9. Using Back Buffer. Hw notes. Using OpenGL Selection Using Back Buffer"

Transcription

1 Picking Lecture 9 Picking Image Processing Using OpenGL Selection Using Back Buffer Hw notes Loop Boundary - ignore edge vertex near boundary rule. use them same edge vertex rule. Make sure to use the second data structure we talked about - based on half-edges Any other questions? Using Back Buffer Need to be in double-buffer mode When the user picks an object scene gets drawn in back buffer - object identifiers in colors Front Back Read the pixel under mouse - R,G,B values gives object number

2 In draw(): if in picking mode 1.disable lighting/textures 2.pick a color for each object ID. 3.draw object In mouseclick() 1. select back buffer 2. draw scene in picking mode 3. read pixels under mouse 4. revert value to integer In draw(): if in picking mode 1.disable lighting/textures gldisable(gl_lighting); 2.pick a color for each object: e.g. unsigned int address=(unsigned int) face; GLubyte *bytes = (GLubyte *) &address;!! glcolor4ub(bytes[0],bytes[1],bytes[2],bytes[3]); 3.draw object In mouseclick() 1. select back buffer 2. draw scene in picking mode 3. read pixels under mouse 4. revert value to integer gldrawbuffer(gl_back) glreadpixels(x,h-y,1,1,gl_red,gl_unsigned_byte,&value[0]) uint* ptr = (uint *)& value; int faceno = ptr[0]; Properties Automatically picks object in front Very easy to implement User never sees false colors - in back buffer (one should never swap buffers) Need to set colors using ubytes(avoid rounding) If static image, can keep a copy of oncedrawn backbuffer instead of re-drawing it with each click. Using OpenGL Selection 3 modes of opengl: 1. Render 2. Select 3. Feedback We ll use selection mode for picking Drawing information returned to application instead of frame buffer Screen stays put

3 Using OpenGL Selection 1) Enter selection mode 2) Designate a small pickable region around the mouse 3) "Draw" the scene also assigning "names" to objects 3) Leave selection mode and enter render mode - info will be returned 4) Process the returned information. In drawscene() glmatrixmode( GL_MODELVIEW ); glclear( GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT ); glcolor3f( 1.0, 1.0, 0.0 ); glpushname( OBJ_NAME ); drawobj(); glpopname(); glflush(); In mouseclick() call : checkhits(x,y) glselectbuffer( BUFSIZE, selectbuf ); glrendermode( GL_SELECT ); glinitnames(); glmatrixmode( GL_PROJECTION ); glpushmatrix(); setupcameraview(); glmatrixmode( GL_PROJECTION ); glgetdoublev( GL_PROJECTION_MATRIX, matrix ); glloadidentity(); glgetintegerv( GL_VIEWPORT, viewport ); glupickmatrix( (double)x, (double)( viewport[3]-y), X_PICK_SIZE, Y_PICK_SIZE, viewport); glmultmatrixd( matrix ); drawscene(); glmatrixmode( GL_PROJECTION ) glpopmatrix(); hits = glrendermode( GL_RENDER ); processhits( hits, selectbuf ); In ProcessHits() namestackdepth = *ptr++; zmin = *ptr++; zmax = *ptr++; nearestz = zmin; for( j = 0; j < namestackdepth; j++ ) { currname = *ptr++; } nearestcurrname = currname; //if more than 1 hit for( i = 1; i < hits; i++ ) { namestackdepth = *ptr++; zmin = *ptr++; zmax = *ptr++; for( j = 0; j < namestackdepth; j++ ) { currname = *ptr++; } if (zmin < nearestz) { nearestz = zmin; nearestcurrname = currname; } }

4 Properties Can be more complicated and/or cumbersome If one needs all objects underneath mouse location, the only way to go. One should do some extra comparisons to front-most object. continuous functions => finite number of bits represent by sampling: store values of function at different points reconstruct values in between when needed e.g. An image Can think of it as a function f : R 2! C Representation: Samples s : Z 2!C e.g. A parametric curve Can think of it as a function f : R! R 2 Representation: Samples s : Z!R 2 Image Processing So far the discretized (pixellated) image was satisfactory What happens if you want to modify the image? shrink, scale - esp. non-integer scale factors? Artifacts!

5 Shrinking Aliasing Naïve 1.5x shrinking : drop 21 out of 3? Slightly different frequency What do we get? Lower frequency appears Shrinking Low sampling rate! low frequency Naïve 1.5x shrinking: drop 1 out of 3 But we want (impossible, not enough samples) Aliasing!

6 Aliasing can show up in different forms Moire patterns Frequency analysis Jaggies original samples reconstructed Temporal Aliasing(wagon wheel effect) Need enough samples, to be more precise, sampling frequency should be twice the frequency of the wave Frequency analysis The key to fighting aliasing is to avoid frequencies we cannot represent Big question: Filtering! When can we reconstruct a continuous signal from samples? Frequency analysis! decompose everything into waves! mathematically convenient to use complex waves amplitude A cos( $ t # ") frequency phase Ae i( $ t#" ) % A(cos( $ t # ") # isin( $ t # ") original samples reconstructed

7 Fourier transform Examples of FT pairs Decomposes into freq. components FT[x]( # $ i% t %) & " x(t)e dt $# Inverse transform reconstructs the function IFT[X](t) & 1 2' # " $# X( %)e i% t d% Gaussian Gaussian Examples of FT pairs Comb function comb(t) % " # n% $# &(t $ nt) box sinc FT of a comb is also a comb sinc(x) = sin(!x)/!x

8 Shannon theorem Image transformation (Rough idea, not mathematically precise formulation) Almost any function or signal can be decomposed into a sum of sine waves with different frequencies: f(t) % " a j exp i( ( jt ) ' j ) j amplitude frequency phase continuous original x(t) sampling discrete x[n] discrete transformed y[n] reconstruction often no control (done by scanner, camera, etc.) Can choose no control (display + eye) A function can be reconstructed from samples if the sampling frequency is at least twice the max. frequency in the FT of the function. Continuous reconstructed y(t) General idea Convolution Keep the part of the signal (image) we can represent (low frequencies). Eliminate the part of the signal (image) we cannot represent (high frequencies). Smooth slowly changing signals have lower high frequency components, smoothing eliminates high frequencies, Underlies algorithms used for sampling, filtering, reconstruction Operation on two functions to get a new function

9 Moving Averages method to smooth a 1D function idea: at any point, compute avg of function over a range extending a distance r (= radius) in each direction. continuous: h(x) = 1 2r discrete : c[i] = 1 2r + 1 x+r x r i+r i r g(t)dt b[j] Discrete Convolution Based on moving averages At each point take weighted averages of neighbors given by a different function r (a b)[i] = a[j]b[i j] j= r Steve Marschner a[j] gives the weight for sample that is distance j from index i where convolution is computed Moving Avgs = Box Filter Continuous Convolution same as before moving average, filter provides weights weights are now function values Discrete Continuous Convolution Continuous to Discrete : Sampling a[i] = f(x i) Discrete to Continuous : Reconstruction by discrete-continuous convolution filter is continuous an example we ve seen : Splines! Steve Marschner

10 2D convolution 2D convolution: q[n,m] % # " " # j%$# i% $# h[n $ i,m $ j]p[i, j] Note: not for any h[i,j] we can implement 2D convolution as a sequence of 2 1D convolutions. Convolution is implemented as 4 nested loops. Typically, in formulas the indices of filters run in both directions from -L to L, where L is an integer. Be careful when retrieving the filter values from an array: you have to convert the range [-L..L] to [0..2*L] Why the frequency domain? Gives the frequency decomposition of a signal. Different frequencies give information about image. convolutions become basic multiplications a 2D FT + filter multiply much faster than convolution in spatial domain. Convolution and Fourier Transforms Fourier Transform of a product of two functions x(t), y(t) is a convolution of their FTs. FT(x(t)*y(t)) = X(") Y("), where X(") = FT[x] ", Y(") = FT[y] " Inverse Fourier Transform of a product of X(") and Y(") is the convolution of x(t), y(t). IFT(X(")*Y(")) = x(t) y(t) Sampling and reconstruction Sampling = multiplication by comb original samples samples Reconstruction (ideal) = convolution with sinc reconstructed x (t) xˆ (t) & & comb sinc(t)x(t) sinc(t) * xˆ(t)

11 Samping and reconstruction Frequency domain Sampling = convolution with comb = replication and shift Xˆ (%) & " X( % $ n# s ) original!! samples Reconstruction = multiplication by box (get rid of extra copies) X( %) & " box( %)Xˆ (%)!! n n Shrinking:problem Shrinking by a factor a< 1 in freq. domain becomes stretching by 1/a!!!! below 1/2 sampling above 1/2 sampling Won t be able to reconstruct correctly = won t see the expected image compare to the original samples!!!! reconstructed!!!! reconstructed Some Convolution Filters Box Filter Hat Filter (linear interpolation) Gaussian Filter (a.k.a. normal distribution) f(x) = B-Spline Cubic Filter 1 (2π) e x2 /2 Catmull-Rom Cubic Filter (interpolating) Mitchell-Netravali Cubic Filter Shrinking: solution Theoretical solution: BEFORE shrinking, remove high frequencies, i.e. multiply by a narrow box shrinking!!! "!!!!!! "!!! Now, there is no overlap, can reconstruct (= see the right thing)!!!! reconstructed!!

12 Image shrinking For simplicity, derive everything in 1D; shrinking of a two dimensional image is done in two steps: first in x direction, then in y direction. Problem: after shrinking have too few pixels to represent all pixels of the original. Solution: do local averaging; similar to the continuous case, but instead of integration do summation. Image shrinking sum these pixels length of arrows indicates pixel values (intensities) Sum up all pixel 1/a values that are covered by the box of width 1/a centered at the 0 1/a n/a pixel that we are n-th pixel computing. If box function of width 1 is h(x), then: box function of width 1/a is h(ax) box function of width 1/a centered at n/a is h(a(x-n/a)) = h(ax-n) add a scale factor a, so that we do not get high intensities: p shrinked [n] $ " h(ai # n)p[i] i Image shrinking Shrinking by a factor a < 1: original image, size w pixel centers target size, aw think about pixels of the target as fat pixels ; the size of a fat pixel is 1/a; the the size of a the (rescaled) target image is aw(1/a) = w = size of the original (but the pixel size is different!) Image shrinking p 0 shrinked 1/a n/a [n] $ " h(ai # n)p[i] i sum these pixels 2l=support size of h(x) n-th pixel Can replace the box by other functions (filters) that result in better images. The formula is the same: We have to sum only over pixels for which h(ai - n) is not zero. If h(x) is zero outside [-l,l], The range for i is determined from - l % ai # n % l

13 Image stretching Stretching by the factor of a > 1. Same approach: make images the same size, use tiny pixels of size 1/a. How do we determine values for points between the original pixels? Need to interpolate, that is, find a continuous function coinciding with the original at discrete values. original image stretched image Interpolation Hat functions are linear on integer intervals; when we sum them we get a linear function with values p[n] at integers: Can use other functions instead of hat(x): Just need:! h(0) = 1 f(x) $ " hat(x # i)p[i]! h(n) = 0 for n not outside equal a certain to zero interval around 0! interpolating function: i f(x) $ " h(x # i)p[i] i Interpolation (Discrete - Continuous Convolution) Image stretching Simplest interpolation: linear. How do we write expression for the interpolating function? Use hat functions (one of possible bumps ). 1 Now we only need to resample the interpolating function at tiny pixel intervals 1/a: n p[n] $ " h( # i)p[i] a i Again, the interval over which to sum is determined by the interval [-l,l],on which the h(t) is not zero: n - l % # i % l a -1 1 Put a hat of height p[n] centered at n. Add all hats.

14 Practical filters Image shifts Try to approximate sinc. At the same time, keep short the interval where the filter is not zero. In additin to box and hat, here is a couple of useful filters: Lanczos filter: Mitchell filter: $ sinc(x) sinc(x / 3), if x % 3 h(x) & # " 0 otherwise. 3 2 $ 7 x * 12 x ) 16 3, if x % 1 1 ' 3 2 h(x) & #* 7 3 x ) 12 x * 20 x ) 32 3, if 1 ( x 6 ' 0 otherwise " % 2 Similar to image stretching: Interpolate, then sample at new locations. p shifted [n] $ % h(n # t " i)p[i] i old sample locations: 0,1,2,,i,.. old sample locations: t,1+t,2+t,,i+t,.. Practical filters Lanczos filter, l=3: Mitchell filter, l=2: Implementation summary To implement resizing (or shifts) 1. create a temporary image. If resizing by factor a in x direction and b in y direction, the temporary image should be a*w w by by bh, if the original was w by h. For shifts, use the same size. 2. resize/shift in X direction using formulas from lectures, computing pixels in the temporary image using pixels of the original image. 3. Create a final image of size a*w by b*h, if resizing, w by h if shifitng. Resize/shift in Y direction, computing the pixels of the final image using the pixels of the temporary image.

15 Implementation summary Image Blurring Do all calculations for red, green and blue components of the image separately, that is, new red values are computed from old red values etc. Represent pixels as floats: the results of filtering can be negative or ouside range; truncate only the final result to this range and convert it to integer. If you need a pixel value that falls outside the image, use zero. Write a function that returns a value for any integer pair of arguments (i,j). If (i,j) is inside the image it returns the image value, otherwise a zero. Always access the image using this function. Original Box Gauss Image blurring Sharpening To blur an image, we do local averaging. Simplest case: p filtered box of size 3 new pixel value here is the average of the three old pixel values. [n] # $ h(n " i)p[i] i Note: we need values of h(t) only at integers. A better example: Idea: to sharpen an image, that is, to make edges more apparent, need to increase the high frequency component and decrease low frequency component. Can be achieved by subtracting a scaled blurred version of the image from the original. The operation can be done using a single 2D convolution by a filter like this: '( 1 1 % % ( 2 7 %& ( 1 ( 2 19 ( 2 ( 1$ ( 2 " " ( 1" #

16 Difference filters To compute % x p[n,m] $ p[n # 1,m] " p[n,m] convolve with filter h[0,0] = -1, h[-1,0] =1, h[i,j] = 0 otherwise. To compute % y p[n,m] $ p[n,m # 1] " p[n,m] convolve with filter h[0,0] = -1, h[0,-1] =1, h[i,j] = 0 otherwise. Edge detection Edge detection Idea: an edge is a sharp change in the image. To find edges means to mark with, say, 255, all pixels which are on an edge. For a continuous image, the places where the intensity changes rapidly, the magnitude of the derivative in some direction is large. Directional derivatives can be approximated by differences: df(x, y) f(x & 1,y) $ f(x, y) ' % f(x & 1,y) $ f(x, y) dx 1 To mark locations where the differences are large, compute differences in two directions, square, and threshold: if % x p[n,m] 2 # % y p[n,m] & threshold _ value set p edge [n,m] to 255, otherwise, to zero. 2 Differences can be computed using filtering.

17 Edge detection example diff. filter in x direction square, sum, take square root and threshold diff. filter in y direction Note: two intermediate images have positive (white) and negative (black) values.

Loop Boundary - ignore edge vertex near boundary rule. use the same edge vertex rule. Deadline changed to Friday night(7/20) 11:59p Selection - extra

Loop Boundary - ignore edge vertex near boundary rule. use the same edge vertex rule. Deadline changed to Friday night(7/20) 11:59p Selection - extra Hw notes Loop Boundary - ignore edge vertex near boundary rule. use the same edge vertex rule. Deadline changed to Friday night(7/20) 11:59p Selection - extra credit. Face removal is not! - make sure you

More information

12. Selection. - The objects selected are specified by hit records in the selection buffer. E.R. Bachmann & P.L. McDowell MV 4202 Page 1 of 13

12. Selection. - The objects selected are specified by hit records in the selection buffer. E.R. Bachmann & P.L. McDowell MV 4202 Page 1 of 13 12. Selection Picking is a method of capturing mouse clicks at some window position and determining what objects are beneath it. The basic idea is to enter the selection rendering mode with a small viewing

More information

Fourier analysis and sampling theory

Fourier analysis and sampling theory Reading Required: Shirley, Ch. 9 Recommended: Fourier analysis and sampling theory Ron Bracewell, The Fourier Transform and Its Applications, McGraw-Hill. Don P. Mitchell and Arun N. Netravali, Reconstruction

More information

Reading. 2. Fourier analysis and sampling theory. Required: Watt, Section 14.1 Recommended:

Reading. 2. Fourier analysis and sampling theory. Required: Watt, Section 14.1 Recommended: Reading Required: Watt, Section 14.1 Recommended: 2. Fourier analysis and sampling theory Ron Bracewell, The Fourier Transform and Its Applications, McGraw-Hill. Don P. Mitchell and Arun N. Netravali,

More information

Better Interactive Programs

Better Interactive Programs Better Interactive Programs Objectives Learn to build more sophisticated interactive programs using Picking Select objects from the display Rubberbanding Interactive drawing of lines and rectangles Display

More information

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ):

Aliasing. 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 information

Fourier transform. Filtering. Examples of FT pairs. Examples of FT pairs. Comb function. Examples of FT pairs FRPE. Decomposes into freq.

Fourier transform. Filtering. Examples of FT pairs. Examples of FT pairs. Comb function. Examples of FT pairs FRPE. Decomposes into freq. Fourier transform Filtering Decomposes into freq. components = )>[@ ƒ [WH ƒläw GW Inverse transform reconstructs the function ) ƒ >;@ = ;ÄH LÄW GÄ ž ƒ Examples of FT pairs Examples of FT pairs FT(delta

More information

Outline. Sampling and Reconstruction. Sampling and Reconstruction. Foundations of Computer Graphics (Fall 2012)

Outline. 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 information

Outline. Foundations of Computer Graphics (Spring 2012)

Outline. 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 information

Basics. Sampling and Reconstruction. Sampling and Reconstruction. Outline. (Spatial) Aliasing. Advanced Computer Graphics (Fall 2010)

Basics. 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 information

Aliasing and Antialiasing. ITCS 4120/ Aliasing and Antialiasing

Aliasing 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 information

Theoretically Perfect Sensor

Theoretically 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 information

Theoretically Perfect Sensor

Theoretically 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 information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Introduction to OpenGL General OpenGL Introduction An Example OpenGL Program Drawing with OpenGL Transformations Animation and Depth Buffering

More information

Drawing a Triangle (and an introduction to sampling)

Drawing 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 information

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017 Reading Jain, Kasturi, Schunck, Machine Vision. McGraw-Hill, 1995. Sections 4.2-4.4, 4.5(intro), 4.5.5, 4.5.6, 5.1-5.4. [online handout] Image processing Brian Curless CSE 457 Spring 2017 1 2 What is an

More information

Drawing a Triangle (and an Intro to Sampling)

Drawing a Triangle (and an Intro to Sampling) Lecture 4: Drawing a Triangle (and an Intro to Sampling) Computer Graphics CMU 15-462/15-662, Spring 2018 HW 0.5 Due, HW 1 Out Today! GOAL: Implement a basic rasterizer - (Topic of today s lecture) - We

More information

Chapter 13 Selection and Feedback

Chapter 13 Selection and Feedback OpenGL Programming Guide (Addison-Wesley Publishing Company) Chapter 13 Selection and Feedback Chapter Objectives After reading this chapter, you ll be able to do the following: Create applications that

More information

To Do. Advanced Computer Graphics. Discrete Convolution. Outline. Outline. Implementing Discrete Convolution

To 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 information

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

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 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 information

Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field

Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field 1 The Accumulation Buffer There are a number of effects that can be achieved if you can draw a scene more than once. You

More information

Sampling and Reconstruction

Sampling 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 information

Advanced Computer Graphics (CS & SE )

Advanced Computer Graphics (CS & SE ) Advanced Computer Graphics (CS & SE 233.420) Topics Covered Picking Pipeline Viewing and Transformations Rendering Modes OpenGL can render in one of three modes selected by glrendermode(mode) GL_RENDER

More information

Image Filtering, Warping and Sampling

Image 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 information

Computer Vision and Graphics (ee2031) Digital Image Processing I

Computer Vision and Graphics (ee2031) Digital Image Processing I Computer Vision and Graphics (ee203) Digital Image Processing I Dr John Collomosse J.Collomosse@surrey.ac.uk Centre for Vision, Speech and Signal Processing University of Surrey Learning Outcomes After

More information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

Edge and local feature detection - 2. Importance of edge detection in computer vision

Edge and local feature detection - 2. Importance of edge detection in computer vision Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature

More information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13. Announcements Edge and Corner Detection HW3 assigned CSE252A Lecture 13 Efficient Implementation Both, the Box filter and the Gaussian filter are separable: First convolve each row of input image I with

More information

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008 CS 248 Assignment 2 Polygon Scan Converter CS248 Presented by Abe Davis Stanford University October 17, 2008 Announcements First thing: read README.animgui. It should tell you everything you need to know

More information

Sampling, Aliasing, & Mipmaps

Sampling, 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 information

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth) Edges, interpolation, templates Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth) Edge detection edge detection has many applications in image processing an edge detector implements

More information

Broad field that includes low-level operations as well as complex high-level algorithms

Broad 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 information

Sampling and Monte-Carlo Integration

Sampling and Monte-Carlo Integration Sampling and Monte-Carlo Integration Sampling and Monte-Carlo Integration Last Time Pixels are samples Sampling theorem Convolution & multiplication Aliasing: spectrum replication Ideal filter And its

More information

Lecture 5: Viewing. CSE Computer Graphics (Fall 2010)

Lecture 5: Viewing. CSE Computer Graphics (Fall 2010) Lecture 5: Viewing CSE 40166 Computer Graphics (Fall 2010) Review: from 3D world to 2D pixels 1. Transformations are represented by matrix multiplication. o Modeling o Viewing o Projection 2. Clipping

More information

Advanced Computer Graphics. Aliasing. Matthias Teschner. Computer Science Department University of Freiburg

Advanced 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 information

Sampling: Application to 2D Transformations

Sampling: 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 information

CS1114 Section 8: The Fourier Transform March 13th, 2013

CS1114 Section 8: The Fourier Transform March 13th, 2013 CS1114 Section 8: The Fourier Transform March 13th, 2013 http://xkcd.com/26 Today you will learn about an extremely useful tool in image processing called the Fourier transform, and along the way get more

More information

Lecture 6 Basic Signal Processing

Lecture 6 Basic Signal Processing Lecture 6 Basic Signal Processing Copyright c1996, 1997 by Pat Hanrahan Motivation Many aspects of computer graphics and computer imagery differ from aspects of conventional graphics and imagery because

More information

CS 4620 Program 3: Pipeline

CS 4620 Program 3: Pipeline CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.

More information

Working Style of Program

Working Style of Program Table of Contents Working Style of Program...2 Linked List &Drawing Function...2 Selection Array...4 Buffer...5 Popup Menu...6 User Guide...7 Drawing an Item...7 Moving Item and Changing Color...8 Delete

More information

Input and Interaction

Input and Interaction Input and Interaction 5 th Week, 2011 Graphical Input Devices Mouse Trackball Light Pen Data Tablet Joy Stick Space Ball Input Modes Input devices contain a trigger which can be used to send a signal to

More information

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Computer 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 information

CS 130 Final. Fall 2015

CS 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 information

CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking. Presented by : Wei-Wen Feng 2/20/2008

CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking. Presented by : Wei-Wen Feng 2/20/2008 CS418 OpenGL & GLUT Programming Tutorial (IV) MP2 Bonus/Object Picking Presented by : Wei-Wen Feng 2/20/2008 MP2 MP2 is due next Mon. Try to get key parts done first Terrain Rendering with Texture Camera

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

Computer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1 Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes t Line Attributes Fill-Area Attributes Scan-Line

More information

Unit 1 Quadratic Functions

Unit 1 Quadratic Functions Unit 1 Quadratic Functions This unit extends the study of quadratic functions to include in-depth analysis of general quadratic functions in both the standard form f ( x) = ax + bx + c and in the vertex

More information

Image Processing, Warping, and Sampling

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 information

The simplest and most obvious method to go from a continuous to a discrete image is by point sampling,

The 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 information

Digital Image Processing. Prof. P. K. Biswas. Department of Electronic & Electrical Communication Engineering

Digital Image Processing. Prof. P. K. Biswas. Department of Electronic & Electrical Communication Engineering Digital Image Processing Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture - 21 Image Enhancement Frequency Domain Processing

More information

To Do. Advanced Computer Graphics. Sampling and Reconstruction. Outline. Sign up for Piazza

To 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 information

CS1114 Assignment 5, Part 1

CS1114 Assignment 5, Part 1 CS4 Assignment 5, Part out: Friday, March 27, 2009. due: Friday, April 3, 2009, 5PM. This assignment covers three topics in two parts: interpolation and image transformations (Part ), and feature-based

More information

What is Clipping? Why do we Clip? Lecture 9 Comp 236 Spring Clipping is an important optimization

What is Clipping? Why do we Clip? Lecture 9 Comp 236 Spring Clipping is an important optimization Clipping, Culling, Picking & Selection Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Picking Selection Programming Assignment #2 Lecture 9 Comp 236 Spring 2005 What is Clipping?

More information

Image Differentiation

Image Differentiation Image Differentiation Carlo Tomasi September 4, 207 Many image operations, including edge detection and motion analysis in video, require computing the derivatives of image intensity with respect to the

More information

Fourier transforms and convolution

Fourier transforms and convolution Fourier transforms and convolution (without the agonizing pain) CS/CME/BioE/Biophys/BMI 279 Oct. 26, 2017 Ron Dror 1 Why do we care? Fourier transforms Outline Writing functions as sums of sinusoids The

More information

Lecture 2: 2D Fourier transforms and applications

Lecture 2: 2D Fourier transforms and applications Lecture 2: 2D Fourier transforms and applications B14 Image Analysis Michaelmas 2017 Dr. M. Fallon Fourier transforms and spatial frequencies in 2D Definition and meaning The Convolution Theorem Applications

More information

by modifying the glutinitwindowsize() function you can change the screen size to whatever you please.

by modifying the glutinitwindowsize() function you can change the screen size to whatever you please. Zoe Veale Lab 2 Draw2 part 1: I edited the glutinitwindowsize() function tom change the size of my screen window. int main(int argc, char** argv) glutinit(&argc, argv); //initialize toolkit glutinitdisplaymode

More information

Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS

Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS HOUSEKEEPING Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS CONTOURS! Self-Paced Lab Due Friday! WEEK SIX Lecture RASTER ANALYSES Joe Wheaton YOUR EXCERCISE Integer Elevations Rounded up

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

Aliasing And Anti-Aliasing Sampling and Reconstruction

Aliasing And Anti-Aliasing Sampling and Reconstruction Aliasing And Anti-Aliasing Sampling and Reconstruction An Introduction Computer Overview Intro - Aliasing Problem definition, Examples Ad-hoc Solutions Sampling theory Fourier transform Convolution Reconstruction

More information

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

convolution 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 information

INTENSITY TRANSFORMATION AND SPATIAL FILTERING

INTENSITY TRANSFORMATION AND SPATIAL FILTERING 1 INTENSITY TRANSFORMATION AND SPATIAL FILTERING Lecture 3 Image Domains 2 Spatial domain Refers to the image plane itself Image processing methods are based and directly applied to image pixels Transform

More information

Assignment #6 2D Vector Field Visualization Arrow Plot and LIC

Assignment #6 2D Vector Field Visualization Arrow Plot and LIC Assignment #6 2D Vector Field Visualization Arrow Plot and LIC Due Oct.15th before midnight Goal: In this assignment, you will be asked to implement two visualization techniques for 2D steady (time independent)

More information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/fall2015 Instructor: Karan

More information

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1 Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line

More information

Simulation and Analysis of Interpolation Techniques for Image and Video Transcoding

Simulation and Analysis of Interpolation Techniques for Image and Video Transcoding Multimedia Communication CMPE-584 Simulation and Analysis of Interpolation Techniques for Image and Video Transcoding Mid Report Asmar Azar Khan 2005-06-0003 Objective: The objective of the project is

More information

Scaled representations

Scaled representations Scaled representations Big bars (resp. spots, hands, etc.) and little bars are both interesting Stripes and hairs, say Inefficient to detect big bars with big filters And there is superfluous detail in

More information

Better Interactive Programs. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Better Interactive Programs. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Better Interactive Programs Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn to build more sophisticated interactive

More information

Image processing in frequency Domain

Image processing in frequency Domain Image processing in frequency Domain Introduction to Frequency Domain Deal with images in: -Spatial domain -Frequency domain Frequency Domain In the frequency or Fourier domain, the value and location

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy 3D Graphics Pipeline II Clipping Instructor Stephen J. Guy 3D Rendering Pipeline (for direct illumination) 3D Geometric Primitives 3D Model Primitives Modeling Transformation 3D World Coordinates Lighting

More information

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Edge Detection (with a sidelight introduction to linear, associative operators). Images Images (we will, eventually, come back to imaging geometry. But, now that we know how images come from the world, we will examine operations on images). Edge Detection (with a sidelight introduction to

More information

Magnetics. Introduction to Filtering using the Fourier Transform. Chuck Connor, Laura Connor. Potential Fields. Magnetics.

Magnetics. Introduction to Filtering using the Fourier Transform. Chuck Connor, Laura Connor. Potential Fields. Magnetics. Introduction to using the Chuck Connor, Laura Connor Potential Fields for this week Nm Sm Schematic Earth dipolar magnetic field. The field lines placed in the page plane are drawn as thick lines, those

More information

How shapes are represented in 3D Graphics. Aims and objectives By the end of the lecture you will be able to describe

How shapes are represented in 3D Graphics. Aims and objectives By the end of the lecture you will be able to describe Today s lecture Today we will learn about The mathematics of 3D space vectors How shapes are represented in 3D Graphics Modelling shapes as polygons Aims and objectives By the end of the lecture you will

More information

Sampling and Reconstruction. Most slides from Steve Marschner

Sampling and Reconstruction. Most slides from Steve Marschner Sampling and Reconstruction Most slides from Steve Marschner 15-463: Computational Photography Alexei Efros, CMU, Fall 2008 Sampling and Reconstruction Sampled representations How to store and compute

More information

Image Sampling and Quantisation

Image 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 information

Lecture 4: Spatial Domain Transformations

Lecture 4: Spatial Domain Transformations # Lecture 4: Spatial Domain Transformations Saad J Bedros sbedros@umn.edu Reminder 2 nd Quiz on the manipulator Part is this Fri, April 7 205, :5 AM to :0 PM Open Book, Open Notes, Focus on the material

More information

Image Sampling & Quantisation

Image 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 information

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier Computer Vision 2 SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung Computer Vision 2 Dr. Benjamin Guthier 1. IMAGE PROCESSING Computer Vision 2 Dr. Benjamin Guthier Content of this Chapter Non-linear

More information

CS448f: Image Processing For Photography and Vision. Lecture 2

CS448f: Image Processing For Photography and Vision. Lecture 2 CS448f: Image Processing For Photography and Vision Lecture 2 Today: More about ImageStack Sampling and Reconstruction Assignment 1 ImageStack A collection of image processing routines Each routine bundled

More information

Computer Vision: 4. Filtering. By I-Chen Lin Dept. of CS, National Chiao Tung University

Computer Vision: 4. Filtering. By I-Chen Lin Dept. of CS, National Chiao Tung University Computer Vision: 4. Filtering By I-Chen Lin Dept. of CS, National Chiao Tung University Outline Impulse response and convolution. Linear filter and image pyramid. Textbook: David A. Forsyth and Jean Ponce,

More information

Lecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu.

Lecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu. Fundamentals of Computer Graphics Lecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu liuyongjin@tsinghua.edu.cn Material by S.M.Lea (UNC) Goals To set up the mathematics and algorithms to perform

More information

cs123 Lab 3 OpenGL Part One 1 Introduction 2 OpenGL Basics 2.2 The Rendering Pipeline 2.1 The CPU and the GPU 2.3 Basic Syntax of OpenGL commands

cs123 Lab 3 OpenGL Part One 1 Introduction 2 OpenGL Basics 2.2 The Rendering Pipeline 2.1 The CPU and the GPU 2.3 Basic Syntax of OpenGL commands cs123 Lab 3 OpenGL Part One Introduction to Computer Graphics 1 Introduction From now on, our weekly labs will focus on the use of OpenGL. While the lectures and projects will let you get a deeper understanding

More information

Section Graphs of the Sine and Cosine Functions

Section Graphs of the Sine and Cosine Functions Section 5. - Graphs of the Sine and Cosine Functions In this section, we will graph the basic sine function and the basic cosine function and then graph other sine and cosine functions using transformations.

More information

CMSC 425: Lecture 4 More about OpenGL and GLUT Tuesday, Feb 5, 2013

CMSC 425: Lecture 4 More about OpenGL and GLUT Tuesday, Feb 5, 2013 CMSC 425: Lecture 4 More about OpenGL and GLUT Tuesday, Feb 5, 2013 Reading: See any standard reference on OpenGL or GLUT. Basic Drawing: In the previous lecture, we showed how to create a window in GLUT,

More information

CS 543: Computer Graphics. Rasterization

CS 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 information

Announcements. Image Matching! Source & Destination Images. Image Transformation 2/ 3/ 16. Compare a big image to a small image

Announcements. 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 information

SUMMARY. CS380: Introduction to Computer Graphics Projection Chapter 10. Min H. Kim KAIST School of Computing 18/04/12. Smooth Interpolation

SUMMARY. CS380: Introduction to Computer Graphics Projection Chapter 10. Min H. Kim KAIST School of Computing 18/04/12. Smooth Interpolation CS38: Introduction to Computer Graphics Projection Chapter Min H. Kim KAIST School of Computing Smooth Interpolation SUMMARY 2 Cubic Bezier Spline To evaluate the function c(t) at any value of t, we perform

More information

Lecture 4 of 41. Lab 1a: OpenGL Basics

Lecture 4 of 41. Lab 1a: OpenGL Basics Lab 1a: OpenGL Basics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://snipurl.com/1y5gc Course web site: http://www.kddresearch.org/courses/cis636 Instructor

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Spatial Domain Filtering http://www.ee.unlv.edu/~b1morris/ecg782/ 2 Outline Background Intensity

More information

Digital Image Processing. Image Enhancement - Filtering

Digital Image Processing. Image Enhancement - Filtering Digital Image Processing Image Enhancement - Filtering Derivative Derivative is defined as a rate of change. Discrete Derivative Finite Distance Example Derivatives in 2-dimension Derivatives of Images

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Spring 2014 TTh 14:30-15:45 CBC C313 Lecture 03 Image Processing Basics 13/01/28 http://www.ee.unlv.edu/~b1morris/ecg782/

More information

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment Notes on Assignment Notes on Assignment Objects on screen - made of primitives Primitives are points, lines, polygons - watch vertex ordering The main object you need is a box When the MODELVIEW matrix

More information

3. Lifting Scheme of Wavelet Transform

3. Lifting Scheme of Wavelet Transform 3. Lifting Scheme of Wavelet Transform 3. Introduction The Wim Sweldens 76 developed the lifting scheme for the construction of biorthogonal wavelets. The main feature of the lifting scheme is that all

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

Lecture 4. Viewing, Projection and Viewport Transformations

Lecture 4. Viewing, Projection and Viewport Transformations Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu

More information

CS 559 Computer Graphics Midterm Exam March 22, :30-3:45 pm

CS 559 Computer Graphics Midterm Exam March 22, :30-3:45 pm CS 559 Computer Graphics Midterm Exam March 22, 2010 2:30-3:45 pm This exam is closed book and closed notes. Please write your name and CS login on every page! (we may unstaple the exams for grading) Please

More information

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters EECS 556 Image Processing W 09 Image enhancement Smoothing and noise removal Sharpening filters What is image processing? Image processing is the application of 2D signal processing methods to images Image

More information

Student Exploration: Translating and Scaling Functions

Student Exploration: Translating and Scaling Functions Name: Date: Student Exploration: Translating and Scaling Functions Vocabulary: amplitude, parent function, periodic function, scale (a function), transform (a function), translate (a function) Prior Knowledge

More information