310 likes | 444 Views
Image Editing II. 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
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