#PIL Python Imaging Library
#Usedfor opening, manipulating, and saving many different image file formats.
from PIL import Image
#module to show image in my jupyter notebook
from IPython.display import Image as jtImage
image1 = Image.open('golden.jpeg')
#this will show image in your system
#image1.show()
#but for jupyter notebook i need to use
jtImage(filename='golden.jpeg')
#saving the image using pillow, you can convert format of images
image1.save('pup.jpg')
jtImage(filename='pup.jpg')
#for converting multiple files at once
import os
for f in os.listdir('.'):
if f.endswith('.jpg'):
i = Image.open(f)
f_name, f_ext = os.path.splitext(f)
i.save('pngs/{}.png'.format(f_name))
#files in pngs folder
print(os.listdir('pngs'))
#Resizing
#making 100pixel image using tuple
size_100 = (100,100)
image1 = Image.open('golden.jpeg')
#this will resize it
image1.thumbnail(size_100)
image1.save('puppy_100.jpg')
jtImage(filename='puppy_100.jpg')
#rotating image
image1 = Image.open('golden.jpeg')
image1.rotate(90).save('golden90.jpg')
jtImage(filename='golden90.jpg')
#Converting to black-white
image1 = Image.open('golden.jpeg')
image1.convert(mode="L").save('golden90.jpg')
jtImage(filename='golden90.jpg')
#Blur image
from PIL import ImageFilter #need for blurring
image1 = Image.open('golden.jpeg')
image1.filter(ImageFilter.GaussianBlur()).save('golden90.jpg')
jtImage(filename='golden90.jpg')
image1 = Image.open('golden.jpeg')
#increasing radius of blur, default is 2
image1.filter(ImageFilter.GaussianBlur(5)).save('golden90.jpg')
jtImage(filename='golden90.jpg')