Advanced Topics in Computer Graphics Exercise 1 Poisson Image Editing Due date: 17.05.05 Presentation by: Tommer Leyvand.

Slides:



Advertisements
Similar presentations
Word Problems Problem Solving Strategies –Understand –Plan –Carry Out –Check.
Advertisements

DREAM PLAN IDEA IMPLEMENTATION Introduction to Image Processing Dr. Kourosh Kiani
MAT 105 SP09 Functions and Graphs
UNLocBox: Matlab convex optimization toolbox epfl
Blending and Compositing Computational Photography Derek Hoiem, University of Illinois 09/23/14.
Tuesday. Parent Function Quiz 4 Graphs No Calculators/No Notes Use entire 10x10 grid Don’t forget to graph asymptotes if needed! About 8-10 minutes to.
Study Guide Commercial Photography Technology
Agenda Review of Proj 1 Concepts for Proj 2 – Probability – Morphology Image Blending.
1 International Programs Office revised: 3 DEC 2009 Subj: Official Passport Application (DS-82 form) 1. This form is used when the Traveler already has.
Introduction to Computer and Human Vision Shimon Ullman, Ronen Basri, Michal Irani Assistants: Lena Gorelick Denis Simakov.
Computer Graphics Exercise 1 Halftoning and Color Transfer Due date:
Introduction to Computer and Human Vision Shimon Ullman, Ronen Basri, Michal Irani Assistants: Tal Hassner Eli Shechtman.
Solve an equation with variables on both sides
Regions Defined by Two Inequalities
How to create a website for free Panagiotis Kafkarkou.
Chapter 3 Binary Image Analysis. Types of images ► Digital image = I[r][c] is discrete for I, r, and c.  B[r][c] = binary image - range of I is in {0,1}
Presented by Chad Kafka This Month’s Topic: Wikispaces Advanced Today’s session is an introduction to what a WIKI is and how they can be used in education.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Computer Architecture B-tree construction & Traversal YongSoo Bae Room 236, Engineering Building [Project 1]
Inverse Functions Lesson Back to the Magic Box What if we cram a number up the spout and out of the funnel pops the number that would have given.
Final Exam Review Pages 4-6  Inverses  Solving Radical Equations  Solving Radical Inequalities  Square Root (Domain/Range)
Advanced Algebra with Trigonometry
Lesson 3.1 Objective: SSBAT define and evaluate functions.
Math 3360: Mathematical Imaging Prof. Ronald Lok Ming Lui Department of Mathematics, The Chinese University of Hong Kong Lecture 1: Introduction to mathematical.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
Deriving Intrinsic Images from Image Sequences Mohit Gupta 04/21/2006 Advanced Perception Yair Weiss.
Introduction to Computer Vision Ronen Basri, Michal Irani, Shimon Ullman Teaching Assistants Tal Amir Ita Lifshitz Michal Yarom.
Drill #16 List the relation (set of ordered pairs) and the domain and range of the following mapping: Draw a mapping, and state the domain and range.
Chapter 1 – Matlab Overview EGR1302. Desktop Command window Current Directory window Command History window Tabs to toggle between Current Directory &
Getting to know California High School Instructions for Completing Assignment Mr. Hawshin Study Skills.
How do we verify and find inverses of functions?
Image Segmentation in Color Space By Anisa Chaudhary.
Advanced Algebra w/Trig
Utilizing Your Class Site Class Website Guide by Kimberlee Fulbright.
Making Panoramas. Input: Output: … Input:  A set of images taken from the same optical center.  For this project, the images will also have the same.
JRN 302: Introduction to Graphics and Visual Communication -Intro. to InDesign Thursday,
ITALY & GREECE 2016 RESEARCH & PRESENTATIONS What to research How to present.
Warm Up. Solving Differential Equations General and Particular solutions.
Invoking methods in the Java library. Jargon: method invocation Terminology: Invoking a method = executing a method Other phrases with exactly the same.
2.4 – Solving Equations with the Variable on Each Side.
COS 429 PS3: Stitching a Panorama Due November 10 th.
Elimination Week 17 blog post. Add or subtract In elimination, we have to add or subtract two linear equations to isolate one of the variables. So, the.
Mixed Review Substitution and Elimination Methods Long Test # 2 – Sept. 17.
CS1010 Discussion Group 11 Week 3 - Computational Thinking/Algorithms.
Solving systems of equations
Chapter One Problem Solving
Functions Section 5.1.
CS4610/7610: Introduction to Computer Graphics
inverse functions Unit 1 Day 17
Copyright © Cengage Learning. All rights reserved.
Introduction to Computer and Human Vision
Image Fusion for Context Enhancement and Video Surrealism
Patric Perez, Michel Gangnet, and Andrew Black
Personal Fitness Welcome to Mr. Dallaire’s Personal Fitness course.
2D transformations (a.k.a. warping)
Chapter 4, a little more.
Functions in Algebra Pg
Final Review Bina Ramamurthy 4/15/2019 BR.
Gradient Domain Salience-preserving Color-to-gray Conversion
Sec. 2.2 Functions.
RELATIONS & FUNCTIONS CHAPTER 4.
Linear Systems Review Objective
you get to solve puzzles!
2 Step Equations Grade 6 Algebra Unit.
2.1 Represent Relations & Functions
Evaluating Functions and Operations on Functions
Exam #2 covering Sections 11 to 15 - NEXT CLASS!
The Graph of an Equation Objective: 1. Sketch graphs of equations 2. Find x- and y-intercepts of graphs of equations 3. Find equations of and sketch graphs.
Solving Linear Systems by Graphing
Presentation transcript:

Advanced Topics in Computer Graphics Exercise 1 Poisson Image Editing Due date: Presentation by: Tommer Leyvand

General Description The purpose of this exercise is to understand and implement a Poisson seamless cloning image editing tool. Part 1: Smooth image completion Part 2: Poisson seamless cloning

Input Images source image target image

Simple Cloning Result

Poisson Seamless Cloning Result

Some More Results source images target image

Some More Results source images simple cloning

Some More Results source images Poisson seamless cloning

Part 1 Smooth Completion

Image as a 2D Function

Smooth Image Completion What if there is a missing area ? f* – the known image Scalar 2D function from (x,y) to grayscale value. f - the image in the unknown area Ω – the unknown area (domain of f) Will complete the area as smoothly as possible.

Smooth Image Completion (Cont.) Finding the minimum: Euler-Lagrange Discrete Aprx:

Discrete Derivate in 1D  Given a discrete function f(x i )=f i x f f(x i ) f(x j )

Smooth Image Completion (Solving)  Each f x,y is an unknown variable x i, total of N variables (covering the unknown pixels)  Reduces to the sparse algebraic system: N x N = 00b1b2000b3000b1b2000b Known values of f() contribute to the left side x i-w +x i-1 -4x i +x i+1 =-f(x,y+1) f x,y-1 +f x-1,y -4f x,y +f x+1,y +f x,y+1 =0 => x i-w +x i-1 -4x i +x i+1 +x i+w =0 x1x2…xNx1x2…xN

Program Usage The program generates one output image Ex1 –complete Ex1 –complete R G B <output> Where R,G,B are the RGB values [0..255] of the unknown color (usually best as black 0,0,0) Example: Example: Ex1 –complete in1.bmp out1.bmp Ex1 –complete in1.bmp out1.bmp

Wow result input result ground truth

Part 2 Poisson Cloning

Poisson Cloning: “Guiding” the completion  We can guide the completion from part1 to fill the hole using gradients from another source image  Reverse: Seek a function f whose gradients are closest to the gradients of the source image

Poisson Cloning (forward difference) (backward difference)

Poisson Cloning (Solving)  Each f x,y is a variable x i as before, solving  As before this reduces to a sparse algebraic system f x,y-1 +f x-1,y -4f x,y +f x+1,y +f x,y+1 =divG(x,y) => x i-w +x i-1 -4x i +x i+1 +x i+w =divG(x,y)

Program Usage The program generates one output image Ex1 –clone Ex1 –clone x y x y Where x y are the offset for the paste

General Guidelines

Important Remarks  You should write the programs in C or C++ or Matlab.  Document your program thoroughly.  In this assignment there is no need to open a window or use OpenGL in any way.  Visit the exercise web-page

Important Remarks  The work can be done in pairs.  Submit your work on diskettes (or CD’s). Hardcopy of the documentation. Do not print the source-code Do not print the source-code In the documentation: Answer the questions from exercise website In the documentation: Answer the questions from exercise website  Points will be rewarded for nice and original images.

More Important Remarks  Don't forget to check the number of parameters that your program receives.  Don't forget to check memory allocations, if they succeeded or failed.  Pay attention to the borders of the image.  Visualize the gradients/div to better understand what is going on

A Little Help  IrfanView – An image viewer, editor.  FreeImage/CxImage – Open source libraries (C/C++) for working with images.  TAUCS – Sparse solver  See links on the exercise webpage  Important questions: me tommer -a--t- tau.ac.il me tommer -a--t- tau.ac.il