"""
Programme   : TP-images-partie2-exo2.py
Langage     : Python 3
Modules     : Pillow
Auteur      : Mathieu Pons
Description : manipulation d'images, application de différents filtres
Pillow      : https://pillow.readthedocs.io/en/stable/

Exercice à réaliser :
	L'objet de cet exercice est de créer un programme qui, à partir d'une image de votre choix, applique
	les différents filtres détaillés dans le TP. Si vous les testez sur notre perroquet, vous devriez
	obtenir les images des figures 1 à 6.
	Vous pouvez vous servir du squelette ci-dessous comme base de démarrage mais rien ne vous empêche
	de présenter les choses autrement.
	BON CODE !!!
"""

# IMPORT =========================================================================================
from PIL import Image

# FONCTIONS =======================================================================================
def negatif(pimg):
	"""
	Description : 	calcule et renvoit le négatif de pimg
	Paramètres 	: 	type(pimg) => Image.PIL
	Retour 		: 	PIL.Image
	"""
	pass

def permuter(pimg):
	"""
	Description : 	renvoit une copie de l'image de pimg dans laquelle les couleurs ont été permutées
	Paramètres 	: 	type(pimg) => Image.PIL
	Retour 		: 	PIL.Image
	"""
	pass

def moduler(pimg):
	"""
	Description : 	modulation des couleurs de pimg
	Paramètres 	: 	type(pimg) => Image.PIL
	Retour 		: 	PIL.Image
	"""
	pass

def luminosite(pimg, pval):
	"""
	Description : 	augmente ou diminue la luminosite d'un pixel
	Paramètres 	: 	type(pimg) => Image.PIL
					type(pval) => int (positif ou négatif)
	Retour 		: 	PIL.Image
	"""
	pass

def contraste(pimg):
	"""
	Description : 	augmente le contraste de l'image passée en paramètre
	Paramètres 	: 	type(pimg) => Image.PIL
	Retour 		: 	PIL.Image
	"""
	pass

# PROGRAMME PRINCIPAL =============================================================================
img_source = Image.open("perroquet.png")
negatif(img_source).show()
permuter(img_source).show()
moduler(img_source).show()
luminosite(img_source, +100).show()
luminosite(img_source, -100).show()
contraste(img_source).show()
