Projet "Images Procédurales"



from random import *

ligne = [255 for i in range(0,100)]
imageR = [ligne[:] for i in range(0,100)]
imageV = [ligne[:] for i in range(0,100)]
imageB = [ligne[:] for i in range(0,100)]

for i in range (0,100):
    for j in range (0,100):
        imageR[i][j]=(str (randint (0,255)))
        imageV[i][j]=(0,255)
        imageB[i][j]=(0,255)
        if  (i==j):
            imageR[i][j]=0
            imageV[i][j]=255
            imageB[i][j]=randint
        if  (i==j+10):
            imageR[i][j]=0
            imageV[i][j]=255
            imageB[i][j]=255
        if  (i==j):
            imageR[i][j]=255
            imageV[i][j]=255
            imageB[i][j]=0
        if  ((i+j)%5):
            imageR[i][j]=0
            imageV[i][j]=255
            imageB[i][j]=125
# ecriture des entêtes du fichier
fichier = open('test.ppm', 'w')
fichier.write('P3\n')
fichier.write('# image generee pour lexposition \n')
fichier.write('100 100')
fichier.write("\n")
fichier.write("255\n")
# ecriture des pixels dans le fichier
for i in range (0,100):
    for j in range (0,100):
        fichier.write(str(imageR[i][j]))
        fichier.write("\n")
        fichier.write(str(imageV[i][j]))
        fichier.write("\n")
        fichier.write(str(imageB[i][j]))
        fichier.write("\n")
fichier.close()    
from random import *

ligne = [255 for i in range(0,100)]
imageR = [ligne[:] for i in range(0,100)]
imageV = [ligne[:] for i in range(0,100)]
imageB = [ligne[:] for i in range(0,100)]

for i in range (0,100):
    for j in range (0,100):
        if (i+j)%9==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))
            
for i in range (0,100):
    for j in range (0,100):
        if (i-j)%9==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))

for i in range (44,56):
    for j in range (44,56):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(0,55)))
            
for i in range (45,55):
    for j in range (45,55):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,55)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(0,55)))

for i in range (48,52):
    for j in range (48,52):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(0,55)))
            imageB[i][j]=(str(randint(0,55)))

for i in range (0,100):
    for j in range (99,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))

for i in range (99,100):
    for j in range (0,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))

for i in range (0,7):
    for j in range (0,7):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(100,150)))
            imageB[i][j]=(str(randint(0,55)))

for i in range (93,100):
    for j in range (0,7):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(100,150)))
            imageB[i][j]=(str(randint(0,55)))

for i in range (0,7):
    for j in range (93,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(100,150)))
            imageB[i][j]=(str(randint(0,55)))
            
for i in range (93,100):
    for j in range (93,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(200,255)))
            imageV[i][j]=(str(randint(100,150)))
            imageB[i][j]=(str(randint(0,55)))
            
for i in range (0,6):
    for j in range (0,6):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,55)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(200,255)))

for i in range (94,100):
    for j in range (0,6):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,55)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(200,255)))

for i in range (0,6):
    for j in range (94,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,55)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(200,255)))
            
for i in range (94,100):
    for j in range (94,100):
        if (i-j)%1==0:
            imageR[i][j]=(str(randint(0,55)))
            imageV[i][j]=(str(randint(200,255)))
            imageB[i][j]=(str(randint(200,255)))
                              
for i in range (0,100):
    for j in range (0,100):
        if (i+j)%11==0:
            imageR[i][j]=(str(randint(175,255)))
            imageV[i][j]=(str(randint(175,255)))
            imageB[i][j]=(str(randint(175,255)))


for i in range (0,100):
    for j in range (0,100):
        if (i-j)%11==0:
            imageR[i][j]=(str(randint(175,255)))
            imageV[i][j]=(str(randint(175,255)))
            imageB[i][j]=(str(randint(175,255)))


for i in range (0,100):
    for j in range (0,100):
        if j%20==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))


for i in range (0,100):
    for j in range (0,100):
        if i%20==0:
            imageR[i][j]=(str(randint(0,255)))
            imageV[i][j]=(str(randint(0,255)))
            imageB[i][j]=(str(randint(0,255)))

# ecriture des entêtes du fichier
fichier = open('benoît.ppm', 'w')
fichier.write('P3\n')
fichier.write('# image generee pour lexposition \n')
fichier.write('100 100')
fichier.write("\n")
fichier.write("255\n")

# ecriture des pixels dans le fichier
for i in range (0,100):
    for j in range (0,100):
        fichier.write(str(imageR[i][j]))
        fichier.write('\n')
        fichier.write(str(imageV[i][j]))
        fichier.write('\n')
        fichier.write(str(imageB[i][j]))
        fichier.write('\n')
fichier.close()
from random import *

# création du tableau "image" avec un fond blanc

ligne = [255 for i in range(0,100)]
image_R = [ligne[:] for i in range(0,100)]
image_V = [ligne[:] for i in range(0,100)]
image_B = [ligne[:] for i in range(0,100)]

for j in range (0,100):
    for i in range (0,99,3):
        image_R[j][i]=randint(120,255)
        image_V[j][i]=randint(60,255)
        image_B[j][i]=randint(240,255)

        gris = randint(0,255)

        image_R[j][i+1]=gris
        image_V[j][i+1]=gris
        image_B[j][i+1]=gris

        image_R[j][i+2]=gris
        image_V[j][i+2]=gris
        image_B[j][i+2]=gris


####################################################
# ecriture des entêtes du fichier
fichier = open('tetst.ppm', 'w')
fichier.write('P3\n')
fichier.write('# image generee pour lexposition \n')
fichier.write('100 100\n')
fichier.write("255\n")

# ecriture des pixels dans le fichier
for i in range (0,100):
    for j in range (0,100):
        fichier.write(str(image_R[i][j]))
        fichier.write('\n')
        fichier.write(str(image_V[i][j]))
        fichier.write('\n')
        fichier.write(str(image_B[i][j]))
        fichier.write('\n')

fichier.close()    
from random import *
import time
debut=time.time()
fichier = open('randomLine.ppm', 'w')
fichier.write('P3\n# Made by raphael\n')
t=500
fichier.write(str(t))
fichier.write("\n")
fichier.write(str(t))
fichier.write("\n255\n")

ligne = [255 for i in range(0,t)]
image = [ligne[:] for i in range(0,t)]
colorimgb = [ligne[:] for i in range(0,t)]
colorimgc = [ligne[:] for i in range(0,t)]
i=250
j=250
st=so=sh=sl=0
a=b=0
ma=mb=0
ca=cb=cc=bb=ba=0
ir=randint(-1,1)
jr=randint(-1,1)
while(a!=20000):
    a=a+1
    b=b+1
    c=randint(0,100)
    if(c<80):
        ir=ir
    else:
        ir=randint(-1,1)
        
    c=randint(0,100)
    if(c<80):
        jr=jr
    else:
        jr=randint(-1,1)
    
    if((i+ir)==0) or ((i+ir)==t):
        i=i
    else:
        i=i+ir
    if((j+jr)==0) or ((j+jr)==t):
        i=i
    else:
        j=j+jr
    ca=ca+8
    ba=ba+8
    
    if ba>32:
        cb=cb+8
        ba=0
        bb=bb+8
        if bb>32:
            cc=cc+8
            bb=0

    if ca>255:
        ca=0
    if cb>255:
        cb=0
    if cc>255:
        cc=0
                
    image[i][j]=ca
    colorimgb[i][j]=cb
    colorimgc[i][j]=cc

i=j=0
for i in range (0,t):
    for j in range (0,t):
        if(image[i][j]!=255):
            mb=0
            ma=0
            r=randint(0,1)
            if r==1:
                r=255
                ma=1
            else:
                ma=2
            # remplacer tout les 0 par r pour couleur vice versa pour noir et blanc
            fichier.write(str(image[i][j]))
            r=randint(0,1)
            if r==1:
                r=255
                mb=1
            else:
                mb=2
            fichier.write(' ')
            fichier.write(str(colorimgb[i][j]))
            r=randint(0,1)  
            if r==1:
                if ma==1 & mb==1:
                    r=0
                else:
                    r=255
            if ma==2 & mb==2:
                r=127
            fichier.write(' ')
            fichier.write(str(colorimgc[i][j]))
            fichier.write('\n')
        else:
            fichier.write("255 255 255\n")
            
fin=time.time()
duree=fin-debut
duree=round(duree, 1)
print("temp: " + str(duree))

fichier.close()    
# création des tableaux "image" avec un fond blanc
ligne = [255 for i in range(0,100)]
image_rouge = [ligne[:] for i in range(0,100)]
image_vert = [ligne[:] for i in range(0,100)]
image_bleu = [ligne[:] for i in range(0,100)]
image_rougegris = [ligne[:] for i in range(0,100)]
image_vertgris = [ligne[:] for i in range(0,100)]
image_bleugris = [ligne[:] for i in range(0,100)]

# associe 'random' à une fonction donnant des nombres aléatoires puis ajoute de la couleur dans les tableaux
from random import randint
for i in range (0,100,5):
    for j in range (0,100):
            gris=0
            image_rougegris[i][j]=gris
            image_vertgris[i][j]=gris
            image_bleugris[i][j]=gris
            image_rougegris[i+1][j]=gris
            image_vertgris[i+1][j]=gris
            image_bleugris[i+1][j]=gris
            image_rouge[i+2][j]=randint(150,255)
            image_vert[i+2][j]=randint(000,150)
            image_bleu[i+2][j]=randint(000,150)
            image_rouge[i+3][j]=randint(000,150)
            image_vert[i+3][j]=randint(000,150)
            image_bleu[i+3][j]=randint(150,255)
            image_rouge[i+4][j]=randint(000,150)
            image_vert[i+4][j]=randint(150,255)
            image_bleu[i+4][j]=randint(000,150)

# écrit l'entête du code de l'image
fichier = open('THEODET Romain.ppm', 'w')
fichier.write('P3\n')
fichier.write('# image generee pour lexposition \n')
fichier.write('100 100\n')
fichier.write("255\n")

# integre les tableaux dans le code de l'image
for i in range (0,100):
    for j in range (0,100):
        fichier.write(str(image_rougegris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vertgris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleugris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rougegris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vertgris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleugris[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rouge[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vert[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleu[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rouge[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vert[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleu[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rouge[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vert[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleu[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rouge[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vert[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleu[i][j]))
        fichier.write('\n')
        fichier.write(str(image_rouge[i][j]))
        fichier.write('\n')
        fichier.write(str(image_vert[i][j]))
        fichier.write('\n')
        fichier.write(str(image_bleu[i][j]))
        fichier.write('\n')
# ferme le fichier        
fichier.close()    
from random import *

ligne = [255 for i in range(0,100)]
image = [ligne[:] for i in range(0,100)]

for i in range(0,100):
    if i%2==0:
        for j in range(0,100):
            if (i+j)%4==0:
                image[i][j]=0

for i in range(0,100):
    if (i+1)%2==0:
        for j in range(0,100):
            if (i+j)%5==0:
                image[i][j]=125
                
for i in range(0,100):
    if (i+1)%2==0:
        for j in range(0,100):
            if (i+j)%8==0:
                image[i][j]=56

for i in range(0,100):
    if i%2==0:
        for j in range(0,100):
            if (i+j)%9==0:
                image[i][j]=198

for i in range(0,100):
    if i%2==0:
        for j in range(0,100):
            if (i+j)%10==0:
                image[i][j]=235


FichierImage = open('TestDeProjet.pgm','w')
FichierImage.write('P2\n')
FichierImage.write('#TestDeProjet')
FichierImage.write('\n')
FichierImage.write('100 100\n')
FichierImage.write('255\n')
    
for i in range (0,100):
        for j in range (0,100):
                FichierImage.write(str(image[i][j]))
                FichierImage.write('\n')
                    

FichierImage.close()
from random import *
ligne = [255 for i in range(0,100)]
image = [ligne[:] for i in range(0,100)]

for i in range (0,50):
    for j in range (0,100):
        image[j][i]=int(2.55*i)
        image[i][j]=int(2.55*i)

for i in range (50,100):
    for j in range (0,100):
        image[j][i]=int(255 - (2.55*i))
        image[i][j]=int(255 - (2.55*i))


# ecriture des entêtes du fichier
fichier = open('test.pgm', 'w')
fichier.write('P2\n')
fichier.write('# image generee pour lexposition \n')
fichier.write('100 100')
fichier.write("\n")
fichier.write('255\n')

# ecriture des pixels dans le fichier
for i in range (0,100):
    for j in range (0,100):
        fichier.write(str(image[i][j]))
        fichier.write("\n")				

fichier.close()    
from random import *

# Création du tableau "image" avec un fond blanc

ligne = [255 for i in range(0,100)]
image_rouge = [ligne[:] for i in range(0,100)]

image_vert = [ligne[:] for i in range(0,100)]

image_bleu = [ligne[:] for i in range(0,100)]

# Fond de l'image
for j in range (0,10):
    for i in range (0,100):
        image_rouge[i][j]=randint(70,155)+i
        image_vert[i][j]=randint(0,100)+i
        image_bleu[i][j]=randint(70,155)+i

for j in range (10,20):
    for i in range (0,100):
        image_rouge[i][j]=randint(0,100)+i
        image_vert[i][j]=randint(70,155)+i
        image_bleu[i][j]=randint(70,155)+i

for j in range (20,30):
    for i in range (0,100):
        image_rouge[i][j]=randint(70,155)+i
        image_vert[i][j]=randint(70,155)+i
        image_bleu[i][j]=randint(0,100)+i

for j in range (30,70):
    for i in range (0,100):
        image_rouge[i][j]=randint(25,75)+i
        image_vert[i][j]=randint(25,75)+i
        image_bleu[i][j]=randint(25,75)+i

for j in range (70,80):
    for i in range (0,100):
        image_rouge[i][j]=randint(70,155)+i
        image_vert[i][j]=randint(70,155)+i
        image_bleu[i][j]=randint(0,100)+i

for j in range (80,90):
    for i in range (0,100):
        image_rouge[i][j]=randint(0,100)+i
        image_vert[i][j]=randint(70,155)+i
        image_bleu[i][j]=randint(70,155)+i

for j in range (90,100):
    for i in range (0,100):
        image_rouge[i][j]=randint(70,155)+i
        image_vert[i][j]=randint(0,100)+i
        image_bleu[i][j]=randint(70,155)+i

#Diagonales
aleatcouleur1=randint(0,2)

if aleatcouleur1==0:
        for i in range (0,100):
            for j in range (0,100):
                if (i-j)%15==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=150
                    image_bleu[i][j]=255
        for i in range (0,100):
            for j in range (0,100):
                if (i-j)%15+1==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=100
                    image_bleu[i][j]=255
        for i in range (0,100):
            for j in range (0,100):
                if (i-j)%15+2==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=50
                    image_bleu[i][j]=255
if aleatcouleur1==1:
        for i in range (0,100):
            for j in range (0,100):
                if (i-j)%15==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=150
                if (i-j)%15+1==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=100
                if (i-j)%15+2==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=50
if aleatcouleur1==2:
        for i in range (0,100):
            for j in range (0,100):
                if (i-j)%15==2:
                    image_rouge[i][j]=150
                    image_vert[i][j]=255
                    image_bleu[i][j]=255
                if (i-j)%15+1==2:
                    image_rouge[i][j]=100
                    image_vert[i][j]=255
                    image_bleu[i][j]=255
                if (i-j)%15+2==2:
                    image_rouge[i][j]=50
                    image_vert[i][j]=255
                    image_bleu[i][j]=255


aleatcouleur2=randint(0,2)

if aleatcouleur2==0:
        for i in range (0,100):
            for j in range (0,100):
                if (i+j)%15==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=150
                    image_bleu[i][j]=255
        for i in range (0,100):
            for j in range (0,100):
                if (i+j)%15+1==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=100
                    image_bleu[i][j]=255
        for i in range (0,100):
            for j in range (0,100):
                if (i+j)%15+2==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=50
                    image_bleu[i][j]=255
if aleatcouleur2==1:
        for i in range (0,100):
            for j in range (0,100):
                if (i+j)%15==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=150
                if (i+j)%15+1==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=100
                if (i+j)%15+2==2:
                    image_rouge[i][j]=255
                    image_vert[i][j]=255
                    image_bleu[i][j]=50
if aleatcouleur2==2:
        for i in range (0,100):
            for j in range (0,100):
                if (i+j)%15==2:
                    image_rouge[i][j]=150
                    image_vert[i][j]=255
                    image_bleu[i][j]=255
                if (i+j)%15+1==2:
                    image_rouge[i][j]=100
                    image_vert[i][j]=255
                    image_bleu[i][j]=255
                if (i+j)%15+2==2:
                    image_rouge[i][j]=50
                    image_vert[i][j]=255
                    image_bleu[i][j]=255


# Entête du fichier
fichier = open('image.pgm', 'w')
fichier.write('P3\n')
fichier.write('#image procédurale\n')
fichier.write(str(100))
fichier.write("\n")
fichier.write(str(100))
fichier.write("\n")
fichier.write("255\n")

# écriture des pixels dans le fichier
for i in range (0,100):
    for j in range (0,100):
	    fichier.write(str(image_rouge[i][j]))
	    fichier.write("\n")
	    fichier.write(str(image_vert[i][j]))
	    fichier.write("\n")
	    fichier.write(str(image_bleu[i][j]))
	    fichier.write("\n")

									

fichier.close()