JyThon : Image Processing

advertisement
JyThon : Image Processing
NATAPON PANTUWONG
Manipulate Pictures
 Open image file with JyThon
>>> file = pickAFile()
>>> print file
/user/guzdial/mediasource/babara.jpg
>>> picture = makePicture(file)
>>> show(picture)
>>> print picture
Picture,
filename/Users/guzdial/mediasources/babara.jpg
height 294 width 222
Manipulate Picture
>>> print getWidth(picture)
>>> print getHeight(picture)
>>> pixel = getPixel(picture,1,1)
>>> print pixel
Pixel, color = color r =168 g=131 b=105
>>> pixel = getPixels(picture)
>>> print pixel[0]
Pixel, color = color r =168 g=131 b=105
Manipulate Picture
>>> print getX(pixel)
>>> print getY(pixel)
>>> print getRed(pixel)
>>> setRed(pixel,255)
>>> color = getColor(pixel)
>>> print color
color r=255,g =131, b=105
>>> newColor = makeColor(0,100,0)
>>> setColor(pixel,newColor)
Manipulate Picture
>>> print distance(color,newcolor)
>>> makeLighter(color)
>>> makedarker(color)
>>> writePictureTo (picture,
“/Users/guzdial/newpicture.jpg”)
Manipulate Picture
>>> file = “Users/guzdial/mediasources/katie.jpg”
>>> pict = makePicture(file)
>>> show(pict)
>>> setColor (getPixel(pict,10,100),yellow)
>>> setColor (getPixel(pict,10,101),yellow)
>>> setColor (getPixel(pict,10,102),yellow)
>>> setColor (getPixel(pict,10,103),yellow)
>>> setColor (getPixel(pict,10,104),yellow)
>>> repaint(pict)
Using Loops in Pictures
>>> for pixel in getPixels(picture)
value = getRed(pixel)
setRed(pixel,value)
>>> for pixel in getPixels(picture)
value = getRed(pixel)
setRed(pixel,value*0.5)
Using Loops in Picture
 Your Turn!!!
 Make sun set picture from beach picture. Assume
that when sun set, blue and green will be decreased
30%.
 Negative Image which invert black and white of gray
level.
 Grayscale image which computed by average of red,
green and blue of each pixel.
Looping Across the Pixels with range
>>> for x in range(1,getWidth(picture))
for y in range(1,getHeight(picture))
pixel = getPixel(picture,x,y)
Your Turn!!!
Let lighten the picture.
Mirror your image vertical or horizontal.
Copying and Transforming Image
#Set up the source and target pictures
barbf = getMediaPath(“babara.jpg”)
barb = makePicture(barbf)
canvasf = getMediaPath(“7inx95in.jpg”)
canvas = makePicture(canvasf)
targetX = 1
for sourceX in range(1,getWidth(barb)):
targetY = 1
for sourceY in range(1,getHeight(barb)):
color = getColor(getPixel(barb,sourceX,sourceY))
setColor(getPixel(canvas,targetX,targetY),color)
targetY = targetY + 1
targetX = targetX + 1
show(barb)
show(canvas)
Copying and Transforming Pictures
 Your Turn!!
 Translation with (10,15)
 Rotate CW 90 degree.
 Scale up by 2
 Scale down by 2
 Blurring
 Sharpening
 Blue Screen
Download