我刚刚在朋友的建议下在python中选择了图像处理,以生成随机颜色的图案。我发现这个在线脚本可以在RGB光谱中生成各种不同的颜色。
def random_color():
levels = range(32,256,32)
return tuple(random.choice(levels) for _ in range(3))
我很有兴趣将此脚本附加到仅生成三种随机颜色中的一种。优选红色,绿色和蓝色。
这里:
def random_color():
rgbl=[255,0,0]
random.shuffle(rgbl)
return tuple(rgbl)
结果是红色,绿色或蓝色。该方法不适用于其他颜色组,但您必须构建所有颜色的列表,然后使用random.choice随机选择一种颜色。
在256(也称为8字节)范围内生成RGB三元组的一种巧妙方法是
color = list(np.random.choice(range(256), size=3))
color
现在是一个大小为3的列表,其值在0-255范围内。您可以将其保存在列表中,以记录之前是否生成颜色。
您也可以使用Hex Color Code,
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)
例如
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)
[A#S,A,F#4651,A#B,A#S,A,A,A,A,A,A,F]
让我们尝试在散点图中绘制它们
for i in range(number_of_colors):
plt.scatter(random.randint(0, 10), random.randint(0,10), c=color[i], s=200)
plt.show()
使用自定义颜色(例如,深红色,深绿色和深蓝色):
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)