La semaine dernière, je me suis lancé dans le traitement des images en python, à la suggestion d'un ami, de générer des motifs de couleurs aléatoires. J'ai trouvé ce script en ligne qui génère un large éventail de couleurs différentes sur tout le spectre RVB.
def random_color():
levels = range(32,256,32)
return Tuple(random.choice(levels) for _ in range(3))
Il est simplement intéressant d’ajouter ce script pour ne générer que l’une des trois couleurs aléatoires. De préférence rouge, vert et bleu.
Ici:
def random_color():
rgbl=[255,0,0]
random.shuffle(rgbl)
return Tuple(rgbl)
Le résultat est soit rouge, vert ou bleu. Cette méthode ne s’applique toutefois pas aux autres jeux de couleurs, où vous devez créer une liste de toutes les couleurs de votre choix, puis utiliser random.choice pour en choisir une au hasard.
Vous pouvez également utiliser le code de couleur Hex,
Name Hex Color Code RGB Color Code
Red #FF0000 rgb(255, 0, 0)
Maroon #800000 rgb(128, 0, 0)
Yellow #FFFF00 rgb(255, 255, 0)
Olive #808000 rgb(128, 128, 0)
Par exemple
import matplotlib.pyplot as plt
import random
number_of_colors = 8
color = ["#"+''.join([random.choice('0123456789ABCDEF') for j in range(6)])
for i in range(number_of_colors)]
print(color)
['# C7980A', '# F4651F', '# 82D8A7', '# CC3A05', '# 575E76', '# 156943', '# 0BD055', '# ACD338']
Essayons de les tracer dans un diagramme de dispersion
for i in range(number_of_colors):
plt.scatter(random.randint(0, 10), random.randint(0,10), c=color[i], s=200)
plt.show()
Avec des couleurs personnalisées (par exemple, rouge foncé, vert foncé et bleu foncé):
import random
COLORS = [(139, 0, 0),
(0, 100, 0),
(0, 0, 139)]
def random_color():
return random.choice(COLORS)
color = lambda : [random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)