Graphics Laboratory Korea University

Slides:



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

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 4 Ravi Ramamoorthi
Warping and Morphing.
Ted Adelson’s checkerboard illusion. Motion illusion, rotating snakes.
E.G.M. PetrakisFiltering1 Linear Systems Many image processing (filtering) operations are modeled as a linear system Linear System δ(x,y) h(x,y)
Video Object Tracking and Replacement for Post TV Production LYU0303 Final Year Project Fall 2003.
First color film Captured by Edward Raymond Turner Predates Prokudin-Gorskii collection Like Prokudin-Gorskii, it was an additive 3-color system.
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.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 5: Image Processing 2: Warping Ravi Ramamoorthi
CSCE 641:Computer Graphics Image Warping/Morphing Jinxiang Chai.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 5: Image Processing 2: Warping Ravi Ramamoorthi
Computational Photography Image Warping/Morphing Jinxiang Chai.
CS5520 Image-Based Rendering © Chun-Fa Chang, Spring 2003 Sampling Theorem & Antialiasing April 15, 2003.
CS443: Digital Imaging and Multimedia Filters Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University Spring 2008 Ahmed Elgammal Dept.
Image warping/morphing Digital Video Special Effects Fall /10/17 with slides by Y.Y. Chuang,Richard Szeliski, Steve Seitz and Alexei Efros.
CSCE 441: Computer Graphics Image Filtering Jinxiang Chai.
© Chun-Fa Chang Sampling Theorem & Antialiasing. © Chun-Fa Chang Motivations “ My ray traced images have a lot more pixels than the TV screen. Why do.
Filtering Course web page: vision.cis.udel.edu/cv March 5, 2003  Lecture 9.
1 Formation et Analyse d’Images Daniela Hall 30 Septembre 2004.
CSCE 441: Computer Graphics Image Warping/Morphing Jinxiang Chai.
Geometric transformations Affine transformations Forward mapping Interpolations schemes.
Image Preprocessing: Geometric Correction Image Preprocessing: Geometric Correction Jensen, 2003 John R. Jensen Department of Geography University of South.
EE663 Image Processing Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Geometric transformations Affine transformations Forward mapping Interpolations schemes.
Image Processing Basics. What are images? An image is a 2-d rectilinear array of pixels.
Chapter 5: Neighborhood Processing
GEOMETRIC OPERATIONS. Transformations and directions Affine (linear) transformations Translation, rotation and scaling Non linear (Warping transformations)
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
1 Formation et Analyse d’Images Session 2 Daniela Hall 26 September 2005.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Images and 2D Graphics COMP # 17.
Image Processing 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Image 2013, Fall. Image Processing Quantization  Uniform Quantization  Halftoning & Dithering Pixel Operation  Add random noise  Add luminance  Add.
Image warping Li Zhang CS559
Krivljenje slike - warping. Princip 2D krivljenja Demo.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Last Lecture photomatix.com. Today Image Processing: from basic concepts to latest techniques Filtering Edge detection Re-sampling and aliasing Image.
CS559: Computer Graphics Lecture 7: Image Warping and Panorama Li Zhang Spring 2008 Most slides borrowed from Yungyu ChuangYungyu Chuang.
CS559: Computer Graphics Lecture 7: Image Warping and Morphing Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae & david streader, VUW Images and 2D Graphics COMP.
Arithmetic and Geometric Transformations (Chapter 2) CS474/674 – Prof. Bebis.
Antialiasing. What is alias? Alias - A false signal in telecommunication links from beats between signal frequency and sampling frequency (from dictionary.com)
Krivljenje slike - warping
Images and 2D Graphics COMP
Advanced Computer Graphics
CSE 455 HW 1 Notes.
Image 2016, Fall.
Sampling Theorem & Antialiasing
Lecture 7: Image alignment
Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi.
Image Processing - in short
CSCE 441: Computer Graphics Image Warping
Image Sampling Moire patterns
Computer Vision Lecture 9: Edge Detection II
EE/CSE 576 HW 1 Notes.
Image Processing Today’s readings For Monday
2D transformations (a.k.a. warping)
Filtering Part 2: Image Sampling
EE/CSE 576 HW 1 Notes.
Image Sampling Moire patterns
Morphing WU PO-HUNG.
Resampling.
Filtering Images Work in the spatial domain
Image Processing 고려대학교 컴퓨터 그래픽스 연구실 kucg.korea.ac.kr.
ECE/CSE 576 HW 1 Notes.
Computer Graphics: Image Warping/Morphing
DIGITAL IMAGE PROCESSING Elective 3 (5th Sem.)
Image Processing 고려대학교 컴퓨터 그래픽스 연구실 kucg.korea.ac.kr.
Presentation transcript:

Graphics Laboratory Korea University Assignment #1 Graphics Laboratory Korea University http://kucg.korea.ac.kr

Adjusting Brightness Simply scale pixel components Must clamp to range (e.g., 0 to 255) Original Brighter http://kucg.korea.ac.kr

Adjusting Contrast Compute mean luminance L for all pixels Luminance = 0.30*r + 0.59*g + 0.11*b Scale deviation from L for each pixel component Must clamp to range (e.g. 0 to 255) L Original More contrast http://kucg.korea.ac.kr

Adjusting Blurriness Convolve with a filter whose entries sum to one Each pixel becomes a weighted average of its neighbors Original Blur http://kucg.korea.ac.kr

Edge Detection Convolve with a filter that finds differences between neighbor pixels Original Edge Detection http://kucg.korea.ac.kr

Image Warping Move pixels of image Mapping Resampling Warp Source Image Destination Image http://kucg.korea.ac.kr

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 http://kucg.korea.ac.kr

Example Mappings Scale by factor : x = factor * u y = factor * v v y 0.8 u x http://kucg.korea.ac.kr

Example Mappings Rotate by θ degrees: x = u cos θ – v sin θ y = u sin θ + v cos θ x y v Rotate 30 u http://kucg.korea.ac.kr

Image Warping Implementation I Forward mapping : for(int u=0; u<umax; u++) { for(int v=0; v<vmax; v++) { float x = fx(u,v); float y = fy(u,v); dst(x,y) = src(u,v); } (u, v) f (x, y) Source Image Destination Image http://kucg.korea.ac.kr

Forwarding Mapping Iterate over source image y v Rotate 30 u x http://kucg.korea.ac.kr

Forwarding Mapping – NOT Iterate over source image Many source pixels can map to same destination pixel x y u v Rotate 30 http://kucg.korea.ac.kr

Forwarding Mapping – NOT Iterate over source image Some destination pixels may not be covered Many source pixels can map to same destination pixel x y u v Rotate 30 http://kucg.korea.ac.kr

Image Warping Implementation II Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = fx-1(x,y); float v = fy-1(x,y); dst(x,y) = src(u,v); } (u, v) f (x, y) Source Image Destination Image http://kucg.korea.ac.kr

Reverse Mapping Iterate over destination image Must resample source May oversample, but much simpler! x y u v Rotate -30 http://kucg.korea.ac.kr

(u, v) does not usually have integer coordinates Resampling Evaluate source image at arbitrary (u, v) (u, v) does not usually have integer coordinates (u, v) (x, y) Source Image Destination Image http://kucg.korea.ac.kr

Overview Mapping Resampling Forward Reverse Point sampling Triangle filter Gaussian filter http://kucg.korea.ac.kr

This method is simple, but it causes aliasing 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); This method is simple, but it causes aliasing x y u v Rotate -30 Scale 0.5 http://kucg.korea.ac.kr

Triangle Filtering Convolve with triangle filter Input Output http://kucg.korea.ac.kr

Triangle Filtering Bilinearly interpolate four closest pixels a = linear interpolation of src(u1, v2) and src(u2, v2) b = linear interpolation of src(u1, v1) and src(u2, v1) dst(x, y) = linear interpolation of “a” and “b” a (u1, v2) (u2, v2) (u, v) (u1, v1) (u2, v1) b http://kucg.korea.ac.kr

Width of Gaussian kernel affects bluriness Gaussian Filtering Convolve with Gaussian filter Input Output Width of Gaussian kernel affects bluriness http://kucg.korea.ac.kr

Gaussian Filtering Compute weighted sum of pixel neighborhood : Weights are normalized values of Gaussian function (u, v) http://kucg.korea.ac.kr

Filtering Methods Comparison Trade-offs Aliasing versus blurring Computation speed Point Bilinear Gaussian http://kucg.korea.ac.kr

Image Warping Implementation III Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = fx-1(x,y); float v = fy-1(x,y); dst(x,y) = resample_src(u,v,w); } (u, v) f (x, y) Source Image Destination Image http://kucg.korea.ac.kr

Image Warping Implementation III Reverse mapping for(int x=0; x<xmax; x++) { for(int y=0; y<ymax; y++) { float u = fx-1(x,y); float v = fy-1(x,y); dst(x,y) = resample_src(u,v,w); } (u, v) f (x, y) w Source Image Destination Image http://kucg.korea.ac.kr

Example: Scale Scale (src, dst, sx, 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 http://kucg.korea.ac.kr

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); } x y v (u, v) (x, y) Rotate 30 u http://kucg.korea.ac.kr

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 http://kucg.korea.ac.kr