Download presentation
Presentation is loading. Please wait.
2
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo
3
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping
4
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing
5
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines
6
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines Region-of-Interest Methods Image-based methods could be applied to regions-of-interest
7
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines Region-of-Interest Methods Image-based methods could be applied to regions-of-interest Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines Region-of-Interest Methods Image-based methods could be applied to regions-of-interest Elder & Goldberg ’98, ’01
8
Image Editing Work Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines Region-of-Interest Methods Image-based methods could be applied to regions-of-interest Pixel-based Methods Adobe Photoshop, GIMP, SuperGoo Image-based Methods Wolberg ’90-’00 Image Warping Beier & Neely ’92 Field Morphing Lee, et. al ’94 Thin-plate Splines Region-of-Interest Methods Image-based methods could be applied to regions-of-interest Elder & Goldberg ’98, ’01
9
Texture Synthesis Work Efros & Leung ’99 Non-parametric Sampling Wei & Levoy 2000 Faster with TSVQ Harrison 2000 Resynthesizer plug-in Praun, et al. 2000 Lapped Textures Liang, et al. ‘01 Real-Time – Patch-Based Sampling Efros & Freeman ‘01 Image Quilting
10
Where does Object-Based Image Editing fit in? Image-based Methods Pixel-based Methods
11
Where does Object-Based Image Editing fit in? Object-Based Image Editing Image Warping, Morphing, Spline warping SuperGoo, clone tool, nudge tool, etc.
12
Object-Based Image Editing
13
What we’re going to cover: 1.Object selection & representation 2.Object editing operations 3.Rendering 4.Background filling and texture painting 5.Applications
14
Object Selection 1.Segment image into catchment basins (TRAPs) (Tobogganed Regions of Accumulated Plateaus) using a Toboggan-based watershed algorithm. 2.Manually “tag” TRAPs to select object Selected Object TRAPs
15
Object Representation Selected 5 TRAPs Object Fit Triangular Mesh to selected Object - for efficient OpenGL Rendering
16
Object Representation Selected 5 TRAPs Object Fit Triangular Mesh to selected Object - for efficient OpenGL Rendering
17
Object Representation 1. Recursive Divide & Conquer Polygonalization of Object Boundary
18
Object Representation 2. Insert Nodes (corners and basepoints)
19
Object Representation 3. Final Triangulation – using Delaunay algorithm
20
Object Representation
21
Object Editing Operations 1.Object selection & representation 2.Object editing operations 3.Rendering 4.Background filling and texture painting 5.Applications
22
Object Editing Operations 2.Object editing operations a.Direct Editing b.Indirect Editing
23
Object Editing Operations 2.Object editing operations a.Direct Editing b.Indirect Editing
24
Stretch 1. After the object has been selected Object
25
Stretch 1. After the object has been selected 2. And vertices (x,y) identified Object (x,y)
26
Stretch 1. After the object has been selected 2. And vertices (x,y) identified (x,y) Object 3. An anchor/pivot point is specified - x +x
27
Stretch 1. After the object has been selected 2. And vertices (x,y) identified 3. An anchor/pivot point is specified 4. And the user clicks on or near the object to stretch it with respect to the anchor point.
28
Stretch Object vertices (x,y), are stretched x Reference Lines
29
Stretch x Reference Lines show uniform stretch Object vertices (x,y), are stretched to (x ’,y ’ ), where ( x, y) captures cursor movement b x, b y are object dimensions x'
30
We now introduce an attenuation function, A[i] Simple Linear Stretch i A[i]A[i] x x' With the same result … for constant A[i]
31
But if we vary A[i] Nonlinear Stretch i A[i]A[i] x'x' We get nonlinear stretch
32
But if we vary A[i] Less MovementMore Movement x'x' Nonlinear Stretch i A[i]A[i] Less Stretch x'x'
33
But if we vary A[i] Less MovementMore Movement Nonlinear Stretch i A[i]A[i] x'x' More Stretch
34
And if we vary A[i] even more Less MovementMore Movement x'x' Extreme Nonlinear Stretch Nonlinear Stretch i A[i]A[i] x'x'
35
Simple rotation matrix, with attenuated i A[i]A[i] Rotate
36
Rotate Rotational Bend Simple rotation matrix, with attenuated i A[i]A[i]
37
Bend-Stretching Calculate the bend based on stretch values User Actions Computation
38
Bend-Stretching Figure 10: Stretching and Bending Arm. (a) Arm bent and stretched simultaneously using Al[i] and Ar[i] (see Figure 9) with boundaries (green), axis of rotation (red). (b) Arm bent more to show occlusion.
39
Indirect Editing 2.Object editing operations a.Direct Editing b.Indirect Editing
40
Curve Deformers - Defaults Length Thickness Rotation Cursor Point Anchor Point
41
Length Flattening Length ~ flat Thickness Rotation Cursor Point Anchor Point
42
Bend-Stretching Length Leveling Thickness Rotation Level-off Cursor Point Anchor Point
43
Rendering 1.Object selection & representation 2.Object editing operations 3.Rendering 4.Background filling and texture painting 5.Applications
44
Antialiasing using OpenGL Variables: Layer Height Layer Width Layer Height w h
45
Antialiasing using OpenGL Variables: Layer Height Layer Width Layer Height Number of Layers Layer Width Object Boundary
46
Background Filling 1.Object selection & representation 2.Object editing operations 3.Rendering 4.Background filling and texture painting 5.Applications
47
Background Filling 2 Methods 1.Scale Down Filling (2a-3a) 2.Gridded (2b-3b) Sampling 1.Automatic 2.User Selects
48
Texture Preservation When an object stretches, if its texture is high in detail, the texture becomes overly smoothed, looking unnatural. To fix this, we keep object TRAP sizes constant, warping only their basepoint positions.
49
Applications 1.Object selection & representation 2.Object editing operations 3.Rendering 4.Background filling and texture painting 5.Applications
50
Video
51
Contributions & Conclusions 1. New object selection tool 2. Trap-based triangulation 3. Automatic background filling 4. Attenuation functions A[i] 5. Curve deformers 6. OpenGL antialiasing 7. Texture painting 8. Texture preservation 9. Image editing at the object level
52
Future Work 1. Structured background filling 2. Intelligent selection tools (Intelligent Scissors, Paint) 3. Predefined/Advanced/Compounded Attenuation functions 4. Subpixel edge model for decontamination of object fringe 5. Use multiple anchor points, Edit multiple objects simultaneously
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.