Image Processing
To install Pillow:pip3 install pillow
simple_pillow.py
from PIL import Image import urllib.request try: #get an original image: url = "http://www.digisoln.com/teachers/there-is-no-cloud.png" g = urllib.request.urlopen(url) with open('cloud.png', 'b+w') as f: f.write(g.read()) #load both images into memory for comparison: original = Image.open("cloud.png") thumb = Image.open("cloud.png") #edit thumbnail image data: thumb.thumbnail((128, 128)) #^^ 128x128 is max dimensions for thumb, not the scale size! #this will keep the thumbs proportionality locked (not skewed). #this will also NOT enlarge an image thumb.save("th_cloud.png") #compare both images: print("Original: ", original.format, original.size, original.mode) print("Thumbnail: ", thumb.format, thumb.size, thumb.mode) except Exception as error: print(repr(error))
extended_pillow.py
from PIL import Image, ImageFilter import urllib.request try: #get an original image: url = "http://digisoln.com/teachers/stacked.jpg" g = urllib.request.urlopen(url) with open('stacked.jpg', 'b+w') as f: f.write(g.read()) #load image into memory: imagedata = Image.open("stacked.jpg") #Filters available in Pillow: #BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE #EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN: imagedata = imagedata.filter(ImageFilter.CONTOUR) #resize and compress the image: width, height = imagedata.size newsize = (width, int(round(height / 2))) imagedata = imagedata.resize(newsize, Image.ANTIALIAS) imagedata.save("stacked_changed.jpg", quality=5) #5% imagedata.show() #this will show a temporary display except Exception as error: print(repr(error))