image pyramids and blending - bgudip111/wiki.files/pyramids.pdf · gradient domain blending (2d)...
TRANSCRIPT
![Page 1: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/1.jpg)
Image Pyramids and Blending
© Kenneth Kwan
15-463: Computational PhotographyAlexei Efros, CMU, Fall 2006
© Kenneth Kwan
![Page 2: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/2.jpg)
Gaussian pre-filtering
G 1/8
G 1/4
Gaussian 1/2
Solution: filter the image then subsampleSolution: filter the image, then subsample• Filter size should double for each ½ size reduction. Why?
![Page 3: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/3.jpg)
Subsampling with Gaussian pre-filtering
G 1/4 G 1/8Gaussian 1/2
Solution: filter the image then subsampleSolution: filter the image, then subsample• Filter size should double for each ½ size reduction. Why?• How can we speed this up?
![Page 4: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/4.jpg)
Image Pyramids
Known as a Gaussian Pyramid [Burt and Adelson, 1983]• In computer graphics, a mip map [Williams, 1983]• A precursor to wavelet transform• A precursor to wavelet transform
![Page 5: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/5.jpg)
A bar in the big images is a hair on thehair on the zebra’s nose; in smaller images, a stripe; in the smallest, the animal’s nose
Figure from David Forsyth
![Page 6: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/6.jpg)
What are they good for?Improve Search
• Search over translations– Like homework– Classic coarse-to-fine strategy
• Search over scale– Template matching– E.g. find a face at different scales
Precomputation• Need to access image at different blur levelsNeed to access image at different blur levels• Useful for texture mapping at different resolutions (called
mip-mapping)
Image ProcessingImage Processing• Editing frequency bands separately• E.g. image blending…
![Page 7: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/7.jpg)
Gaussian pyramid construction
filter mask
Repeat• Filter• Subsample• Subsample
Until minimum resolution reached • can specify desired number of levels (e.g., 3-level pyramid)
The whole pyramid is only 4/3 the size of the original image!
![Page 8: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/8.jpg)
Image Blending
![Page 9: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/9.jpg)
Feathering
+
01
01
0 0
Encoding transparency
I( ) ( R G B )
=I(x,y) = (R, G, B, )
Iblend = Ileft + Iright
![Page 10: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/10.jpg)
Affect of Window Size
1 left 1
0right
0
![Page 11: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/11.jpg)
Affect of Window Size
1 1
0 0
![Page 12: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/12.jpg)
Good Window Size
1
0
“Optimal” Window: smooth but not ghostedOptimal Window: smooth but not ghosted
![Page 13: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/13.jpg)
What is the Optimal Window?To avoid seams
• window >= size of largest prominent feature
T id h tiTo avoid ghosting• window <= 2*size of smallest prominent feature
Natural to cast this in the Fourier domain• largest frequency <= 2*size of smallest frequency• image frequency content should occupy one “octave” (power of two)g q y py (p )
FFTFFT
![Page 14: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/14.jpg)
What if the Frequency Spread is Wide
FFT
Idea (Burt and Adelson)• Compute Fleft = FFT(Ileft), Fright = FFT(Iright)• Decompose Fourier image into octaves (bands)
– Fleft = Fleft1 + Fleft
2 + …Fleft Fleft Fleft …• Feather corresponding octaves Fleft
i with Frighti
– Can compute inverse FFT and feather in spatial domain• Sum feathered octave images in frequency domain• Sum feathered octave images in frequency domain
Better implemented in spatial domain
![Page 15: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/15.jpg)
What does blurring take away?
original
![Page 16: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/16.jpg)
What does blurring take away?
smoothed (5x5 Gaussian)
![Page 17: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/17.jpg)
High-Pass filter
smoothed – original
![Page 18: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/18.jpg)
Band-pass filtering
Gaussian Pyramid (low-pass images)
Laplacian Pyramid (subband images)Laplacian Pyramid (subband images)Created from Gaussian pyramid by subtraction
![Page 19: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/19.jpg)
Laplacian Pyramid
Need this!
Originalimage
How can we reconstruct (collapse) thisHow can we reconstruct (collapse) this pyramid into the original image?
![Page 20: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/20.jpg)
Pyramid Blending
1
01
0
1
0
Left pyramid Right pyramidblend
![Page 21: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/21.jpg)
Pyramid Blending
![Page 22: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/22.jpg)
laplacianlaplacianlevel
4
l l ilaplacianlevel
2
l l ilaplacianlevel
0
left pyramid right pyramid blended pyramid
![Page 23: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/23.jpg)
Laplacian Pyramid: BlendingGeneral Approach:
1. Build Laplacian pyramids LA and LB from images A and B2 Build a Gaussian pyramid GR from selected region R2. Build a Gaussian pyramid GR from selected region R3. Form a combined pyramid LS from LA and LB using nodes
of GR as weights:LS(i j) GR(I j )*LA(I j) + (1 GR(I j))*LB(I j)• LS(i,j) = GR(I,j,)*LA(I,j) + (1-GR(I,j))*LB(I,j)
4. Collapse the LS pyramid to get the final blended image
![Page 24: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/24.jpg)
Blending Regions
![Page 25: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/25.jpg)
Horror Photo
© prof. dmartin
![Page 26: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/26.jpg)
Season Blending (St. Petersburg)
![Page 27: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/27.jpg)
Season Blending (St. Petersburg)
![Page 28: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/28.jpg)
Simplification: Two-band BlendingBrown & Lowe, 2003
• Only use two bands: high freq. and low freq.• Blends low freq smoothly• Blends low freq. smoothly• Blend high freq. with no smoothing: use binary mask
![Page 29: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/29.jpg)
2-band Blending
Low frequency ( > 2 pixels)
High frequency ( < 2 pixels)
![Page 30: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/30.jpg)
Linear Blending
![Page 31: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/31.jpg)
2-band Blending
![Page 32: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/32.jpg)
Gradient DomainIn Pyramid Blending, we decomposed our
image into 2nd derivatives (Laplacian) and a l ilow-res image
Let us now look at 1st derivatives (gradients):N d f l i• No need for low-res image
– captures everything (up to a constant)Id• Idea:
– DifferentiateBlend– Blend
– Reintegrate
![Page 33: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/33.jpg)
Gradient Domain blending (1D)
bright
Twosignals
dark
Regularblending
Blendingderivatives
![Page 34: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/34.jpg)
Gradient Domain Blending (2D)
Trickier in 2D:• Take partial derivatives dx and dy (the gradient field)
Fiddle around with them (smooth blend feather etc)• Fiddle around with them (smooth, blend, feather, etc)• Reintegrate
– But now integral(dx) might not equal integral(dy)• Find the most agreeable solution
– Equivalent to solving Poisson equation– Can use FFT, deconvolution, multigrid solvers, etc.
![Page 35: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/35.jpg)
Comparisons: Levin et al, 2004
![Page 36: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/36.jpg)
Perez et al., 2003
![Page 37: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/37.jpg)
Perez et al, 2003
editing
Limitations:• Can’t do contrast reversal (gray on black -> gray on white)• Colored backgrounds “bleed through”• Colored backgrounds bleed through• Images need to be very well aligned
![Page 38: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/38.jpg)
Don’t blend, CUT!
Moving objects become ghosts
So far we only tried to blend between two imagesSo far we only tried to blend between two images. What about finding an optimal seam?
![Page 39: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/39.jpg)
Davis, 1998Segment the mosaic
• Single source image per segment• Avoid artifacts along boundries• Avoid artifacts along boundries
– Dijkstra’s algorithm
![Page 40: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/40.jpg)
blockEfros & Freeman, 2001
Input texture
B1 B2 B1 B2 B1 B2
Random placement of blocks
Neighboring blocksconstrained by overlap
Minimal errorboundary cut
![Page 41: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/41.jpg)
Minimal error boundary
overlapping blocks vertical boundary
22__ ==
min. error boundaryoverlap error
![Page 42: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/42.jpg)
GraphcutsWhat if we want similar “cut-where-things-
agree” idea, but for closed regions?D i i ’t h dl l• Dynamic programming can’t handle loops
![Page 43: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/43.jpg)
Graph cuts (simple example à la Boykov&Jolly ICCV’01)(simple example à la Boykov&Jolly, ICCV’01)
n-linkst a cuthard constraint
hard
sconstraint
Minimum cost cut can be computed in polynomial time( fl / i t l ith )(max-flow/min-cut algorithms)
![Page 44: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/44.jpg)
Kwatra et al, 2003
Actually, for this example, DP will work just as well…
![Page 45: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/45.jpg)
Lazy Snapping (Li el al., 2004)
Interactive segmentation using graphcutsInteractive segmentation using graphcuts
![Page 46: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/46.jpg)
Putting it all togetherCompositing images
• Have a clever blending functionFeathering– Feathering
– blend different frequencies differently– Gradient based blending
• Choose the right pixels from each image• Choose the right pixels from each image– Dynamic programming – optimal seams– Graph-cuts
Now, let’s put it all together:• Interactive Digital Photomontage, 2004 (video)
![Page 47: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/47.jpg)
![Page 48: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/48.jpg)
Back to Feathering
+
01
01
0 0
Encoding transparency
I( ) ( R G B )
=I(x,y) = (R, G, B, )
Iblend = Ileft + Iright
![Page 49: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/49.jpg)
Setting alpha: simple averaging
Alpha = .5 in overlap region
![Page 50: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/50.jpg)
Image featheringWeight each image proportional to its distance
from the edge(di t [D i l CVGIP 1980](distance map [Danielsson, CVGIP 1980]
1. Generate weight map for each image2. Sum up all of the weights and divide by sum:
weights sum up to 1: wi’ = wi / ( ∑i wi)
![Page 51: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/51.jpg)
Setting alpha: center weighting
DistanceDistancetransform
Gh t!Alpha = dtrans1 / (dtrans1+dtrans2)
Ghost!
![Page 52: Image Pyramids and Blending - BGUdip111/wiki.files/Pyramids.pdf · Gradient Domain Blending (2D) Trickier in 2D: • Take partial derivatives dx and dy (the gradient field) • Fiddle](https://reader033.vdocuments.us/reader033/viewer/2022042311/5ed9e22ef448a14711114381/html5/thumbnails/52.jpg)
Setting alpha for Pyramid blending
DistanceDistancetransform
Alpha = logical(dtrans1>dtrans2)