Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 4: Image Processing 1 Ravi Ramamoorthi

Slides:



Advertisements
Similar presentations
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Advertisements

Linear Filtering – Part I Selim Aksoy Department of Computer Engineering Bilkent University
Lecture 2: Convolution and edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
Spatial Filtering (Chapter 3)
Topic 6 - Image Filtering - I DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Image Filtering. Outline Outline Concept of image filter  Focus on spatial image filter Various types of image filter  Smoothing, noise reductions 
Regional Processing Convolutional filters. Smoothing  Convolution can be used to achieve a variety of effects depending on the kernel.  Smoothing, or.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 4 Ravi Ramamoorthi
Image Enhancement in the Frequency Domain Part III
Computer Vision Lecture 16: Texture
Lecture 4 Edge Detection
Lecture 2: Filtering CS4670/5670: Computer Vision Kavita Bala.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi Some slides.
Image Filtering CS485/685 Computer Vision Prof. George Bebis.
Chapter 4 Image Enhancement in the Frequency Domain.
1 Image filtering Hybrid Images, Oliva et al.,
CSCE 641 Computer Graphics: Image Filtering & Feature Detection Jinxiang Chai.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 5: Image Processing 2: Warping Ravi Ramamoorthi
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 5: Image Processing 2: Warping Ravi Ramamoorthi
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering
Lecture 1: Images and image filtering
CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 7: Review, Reconstruction Ravi Ramamoorthi
Image Enhancement.
1 Image filtering
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 3: Sampling and Reconstruction Ravi Ramamoorthi
Computational Photography: Fourier Transform Jinxiang Chai.
Chapter 4 Image Enhancement in the Frequency Domain.
Computational Photography: Image Processing Jinxiang Chai.
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Chapter 4 Image Enhancement in the Frequency Domain Chapter.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 3 Ravi Ramamoorthi
Spatial Filtering: Basics
Edge Detection (with implementation on a GPU) And Text Recognition (if time permits) Jared Barnes Chris Jackson.
Effective Computation of Linear Filters The following properties are used to shorten the computation time f  g = g  f, f  (g  h) = (f  g)  h, f 
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Filtering Robert Lin April 29, Outline Why filter? Filtering for Graphics Sampling and Reconstruction Convolution The Fourier Transform Overview.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 14/15 – TP6 Frequency Space Miguel Tavares Coimbra.
Digital Image Processing CSC331 Image Enhancement 1.
Image Processing Basics. What are images? An image is a 2-d rectilinear array of pixels.
CMSC 635 Sampling and Antialiasing. Aliasing in images.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP7 Spatial Filters Miguel Tavares Coimbra.
Announcements Project 0 due tomorrow night. Edge Detection Today’s readings Cipolla and Gee (handout) –supplemental: Forsyth, chapter 9Forsyth For Friday.
Last Lecture photomatix.com. Today Image Processing: from basic concepts to latest techniques Filtering Edge detection Re-sampling and aliasing Image.
CSE 185 Introduction to Computer Vision Image Filtering: Spatial Domain.
Sliding Window Filters Longin Jan Latecki October 9, 2002.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
Filters– Chapter 6. Filter Difference between a Filter and a Point Operation is that a Filter utilizes a neighborhood of pixels from the input image to.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Sampling and Reconstruction.
Environmental Remote Sensing GEOG 2021
Miguel Tavares Coimbra
Advanced Computer Graphics
Advanced Computer Graphics
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering Northern Arizona University.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
An Adept Edge Detection Algorithm for Human Knee Osteoarthritis Images
Filtering – Part I Gokberk Cinbis Department of Computer Engineering
Miguel Tavares Coimbra
Dr. Chang Shu COMP 4900C Winter 2008
Computer Vision Lecture 16: Texture II
Lecture 10 Image sharpening.
CSCE 643 Computer Vision: Thinking in Frequency
Sampling and Reconstruction
Lecture 5: Resampling, Compositing, and Filtering Li Zhang Spring 2008
Image Filtering with GLSL
Lecture 4 Image Enhancement in Frequency Domain
All about convolution.
Presentation transcript:

Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 4: Image Processing 1 Ravi Ramamoorthi

To Do  Assignment 1, Due Feb 16.  All info in this and next lecture  Enough to implement second half of assn

Outline  Implementation of digital filters  Discrete convolution in spatial domain  Basic image-processing operations  Antialiased shift and resize  Not well covered in textbook

Discrete Convolution  Previous lecture: Convolution as mult in freq domain  But need to convert digital image to and from to use that  Useful in some cases, but not for small filters  Previous lecture: Sinc as ideal low-pass filter  But has infinite spatial extent, exhibits spatial ringing  In general, use frequency ideas, but consider implementation issues as well  Instead, use simple discrete convolution filters e.g.  Pixel gets sum of nearby pixels weighted by filter/mask

Implementing Discrete Convolution  Fill in each pixel new image convolving with old  Not really possible to implement it in place  More efficient for smaller kernels/filters f  Normalization  If you don’t want overall brightness change, entries of filter must sum to 1. You may need to normalize by dividing  Integer arithmetic  Simpler and more efficient  In general, normalization outside, round to nearest int

Outline  Implementation of digital filters  Discrete convolution in spatial domain  Basic image-processing operations  Antialiased shift and resize  Not well covered in textbook

Basic Image Processing (Assn 3.4)  Blur  Sharpen  Edge Detection All implemented using convolution with different filters

Blurring  Used for softening appearance  Convolve with gaussian filter  Same as mult. by gaussian in freq. domain, so reduces high-frequency content  Greater the spatial width, smaller the Fourier width, more blurring occurs and vice versa  How to find blurring filter?

Blurring

Blurring

Blurring

Blurring

Blurring

Blurring Filter  In general, for symmetry f(u,v) = f(u) f(v)  You might want to have some fun with asymmetric filters  We will use a Gaussian blur  Blur width sigma depends on kernel size n (3,5,7,11,13,19) Spatial Frequency

Discrete Filtering, Normalization  Gaussian is infinite  In practice, finite filter of size n (much less energy beyond 2 sigma or 3 sigma).  Must renormalize so entries add up to 1  Simple practical approach  Take smallest values as 1 to scale others, round to integers  Normalize. E.g. for n = 3, sigma = ½

Basic Image Processing (Assn 3.4)  Blur  Sharpen  Edge Detection All implemented using convolution with different filters

Sharpening Filter  Unlike blur, want to accentuate high frequencies  Take differences with nearby pixels (rather than avg)

Blurring

Blurring

Blurring

Basic Image Processing (Assn 3.4)  Blur  Sharpen  Edge Detection All implemented using convolution with different filters

Edge Detection  Complicated topic: subject of many PhD theses  Here, we present one approach (Sobel edge detector)  Step 1: Convolution with gradient (Sobel) filter  Edges occur where image gradients are large  Separately for horizontal and vertical directions  Step 2: Magnitude of gradient  Norm of horizontal and vertical gradients  Step 3: Thresholding  Threshold to detect edges

Edge Detection

Details  Step 1: Convolution with gradient (Sobel) filter  Edges occur where image gradients are large  Separately for horizontal and vertical directions  Step 2: Magnitude of gradient  Norm of horizontal and vertical gradients  Step 3: Thresholding

Outline  Implementation of digital filters  Discrete convolution in spatial domain  Basic image-processing operations  Antialiased shift and resize (next lecture)  Not well covered in textbook