作品展示:
背景需求:
甲流传染病,班级来了三位孩子,他们玩折纸的时候讨论,
09号问:“绿色和蓝色混合是什么颜色?”
08号问:“绿色加蓝色加浅蓝合在一起是什么颜色”
17号说:“蓝色和橙色加起来是绿色!”
09号咨询老师:我这个蓝色和绿色在一起会变成什么颜色?:
老师说:“绿色和蓝色混合是青蓝色。”“三颜色混在一起也是偏蓝的颜色,可能会浅一点”
为此我从手机上找了一张72色色卡给他们看,孩子们立刻被鲜艳吸引,嚷起来:
“我喜欢这个红色(草莓红)”
“粉色在哪里”。
“这么多颜色啊!”
我想起最近做拼图时,用过的RGB色彩(170,170,170浅灰)
随口说:“世界上还有很多颜色呢,有255*255*255种!”
09号立刻追问:“世界上有255种颜色吗?”
“是255*255*255,大约有几十万种颜色!”
“几十万!”孩子们嬉笑大叫起来
我想:我可以用Python给孩子们看看这255*255*255的色卡啊!
代码展示:
'''
目的:256*256*256=16777216色
制作全部RGB色卡(10*10像素大小图片)
作者:阿夏
时间:2023年4月28日12:07
'''
import numpy as np
import matplotlib.pyplot as plt
import skimage.io as io
from PIL import Image
# 像素3个数字
list1=[]
for a in range(0,256):
for b in range(0,256):
for c in range(0,256):
list1.append(str(a))
list1.append(str(b))
list1.append(str(c))
# print(len(list1))
# 分割程3个一组
list=[]
for f in range(int(len(list1)/3)):
list.append(list1[f*3:f*3+3])
# print(len(list))
list.sort()
print(len(list))
for i in range(len(list)):
e=int(list[i][0])
f=int(list[i][1])
g=int(list[i][2])
# print(e,f,g)
img=Image.new("RGB",(10,10),(e,f,g))
# 保存图片
img.save(r"D:\test\色卡8位数\{}.jpg".format('%08d'%i))
为了确定图片的编号长度,我用手机计算器算了255*255*255(包含0,所以是256)的数量,结果吓一跳——数量:一千六百万张(8位数)
真要生成这么多的图片,估计要几天几夜了呀。T_T
1、缩小图片大小:
因此我把生成图片的大小变得很小,大约1K
2、编号为8位数:
3、间隔抽样:
512张小色卡图
为了让幼儿看得清楚,我把图片长宽放大:
孩子们欣赏后,纷纷说:我喜欢这个颜色!(粉红、浅蓝)