310 likes | 447 Vues
This guide explores fundamental image editing concepts, focusing on both simple and complex blending methods. Simple blending is defined by uniform opacity values across pixels, illustrated through grayscale representations. In contrast, complex blending allows for individual pixel opacity, utilizing layer masks for precise control. The document also covers selection masks for targeting specific pixels and provides algorithms for layer composition and object management within images. By examining these techniques, you'll understand the dynamics of image layers, masks, and object manipulation for effective edits.
E N D
Simple Blending = .7 x + .5 x Each pixel in a layer is multiplied by the same opacity value
Simple Blending Opacity values can be visualized as gray levels 0.7 0.5 x x = +
Complex Blending • Each pixel in a layer can have a different opacity value • The opacity values for a layer’s pixels can be visualized as a grayscale image • This grayscale image is called a “mask”
Layer Masks Complex Blending x x = +
Selection Mask • One bit for each pixel 1 = selected 0 = not selected
Selection Mask Image SelectMask Selecting all yellow and some red pixels
Copy Image SelectMask PasteImage PasteMask
Copy Algorithm for (every pixel [x,y] in the image) { if (selectMask[x,y] == 1) { pasteImage[x,y] = image[x,y]; pasteMask[x,y] = 1; } else { pasteMask[x,y] = 0; } }
New Layer Composition Algorithm Image Layer = mask+image for (every pixel [x,y] in the layer) { if (mask[x,y] == 1) { new[x,y] = layer[x,y]; } else { new[x,y] = image[x,y]; } }
New Moving a Layer Image Layer = mask+image Move layer pixels without touching image pixels
Replace with background color Cut What happens to the deleted pixels?
Object representations of pictures • Types of objects • Lines • Rectangles • Ovals • Text • Curves • Pictures Text
Picture = array of drawing objects 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Line(20,0,20,80,gray)
Adding an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Line(20,0,20,80,gray) 3) Text(25,25,”Hello”, black,”Times” ) Hello
Selecting an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Line(20,0,20,80,gray) 3) Text(25,25,”Hello”, black,”Times” ) Hello CurObj = 2
Deleting an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Line(20,0,20,80,gray) 3) Text(25,25,”Hello”, black,”Times” ) Hello CurObj = 2
Why no missing pixels? Deleting an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Text(25,25,”Hello”, black,”Times” ) Hello CurObj =
Deleting an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Text(25,25,”Hello”, black,”Times” ) Hello Does object delete work like images or like text? CurObj =
Moving an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(0,30,40,20,blue,purple) 2) Text(25,25,”Hello”, black,”Times” ) Hello
Moving an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(30,30,40,20,blue,purple) 2) Text(25,25,”Hello”, black,”Times” ) Hello
Changing an object 0) Rect(10,10,50,40,tan,yellow) 1) Oval(30,30,40,20,blue,purple) 2) Text(25,25,”Hello”, red,”Arial” ) Hello
Move an object back 0) Oval(30,30,40,20,blue,purple) 1) Rect(10,10,50,40,tan,yellow) 2) Text(25,25,”Hello”, red,”Arial”) Hello
Select the “a” with magic wand Changing an imageSequoa -> Sequoia
Drag the “a” to the right Changing an imageSequoa -> Sequoia Leaves ugly blank pixels
Select text insertion point Change using objects Text object Image object Sequoa
Change using objects Text object Image object Sequoia
Compare • Why are images better than objects? • More realistic pictures • Easy to generate with cameras and scanners • Why are objects better than images? • Less space • Easier to make changes