## TP8 exercice 2

from matplotlib.pyplot import *
import matplotlib.image as mpimg
from numpy import *
import os

os.chdir("D:\Documents(D)\Bellevue\Informatique\0 - Programme 2021\Semestre_1_TP\TP8 - Traitement d'images\Programmes\images")

## Question 6

Nom="..."

Portrait=mpimg.imread(Nom+".png")

# imshow(Portrait)
# show()

m2,n2=Portrait.shape[:2]


## Question 7

minis=[0.11,0.20,0.13]
maxis=[0.80,0.85,0.80]

minis_e=[-0.03,-0.09,-0.17]
maxis_e=[ 0.14, 0.10, 0.01]

def Tableau(T):
    """Renvoie le booléen True s'il faut supprimer le pixel"""
    B=True
    # Tests sur r, g, b.
    for k in range(3):
        if not(minis[k]<=T[k]<=maxis[k]):
            B=False
    # Tests sur g-b, b-r, r-g.
    dif=[T[1]-T[2],T[2]-T[0],T[0]-T[1]]
    for k in range(3):
        if not(minis_e[k]<=dif[k]<=maxis_e[k]):
            B=False
    return B

# for i in range(m2):
#     for j in range(n2):
#         if Tableau(Portrait[i,j]):
#             Portrait[i,j]=array([0,0,0])
#
# imshow(Portrait)
# show()

## Question 8

Plage=mpimg.imread("Plage.png")
m,n=Plage.shape[:2]

# Départ :
md=m-m2
nd=300


for i in range(m2):
    for j in range(n2):
        if not Tableau(Portrait[i,j]):
            Plage[md+i,nd+j]=Portrait[i,j]
figure()
imshow(Plage)
show()
savefig(Nom+"à_la_plage.png")


