资料介绍
描述
LED像素艺术
图像由像素组成,像素是图片元素的缩写。这些像素中的每一个都由一个红色、一个绿色和一个蓝色值组成。每种颜色的值可以在 0 到 255 之间,提供超过 1600 万种不同颜色和阴影的组合。Python 图像库 (PIL) 可用于扫描图片、提取每个像素并识别该像素的 RGB 值。在这个项目中,我编写了一个程序来拍摄 10 X 10 的图像,识别每个像素的颜色值,然后将这些值正确地传送到 LED 显示板。它加载图像、扫描图像,然后将图像实时显示在 LED 板上。
程序如何运作第 1 部分
PIL 使扫描图像和检索像素值变得非常容易。当前的 Raspberry Pi OS 预装了 PIL,因此您可以开始使用了。只需导入所需的模块,然后使用下面的程序代码打开图像文件,然后测量文件的宽度和高度,然后使用代码创建一个列表来存储像素值。然后,我将像素总数(在本例中为 100)存储在一个名为 total 的变量中。这对于确保图像具有显示板所需的正确像素数很有用。file = input("请输入文件名")
im = Image.open(file + ".jpg", "r") # name of file to scan
width, height = im.size
pixel_values = list(im.getdata())
print (pixel_values)
total = (len(pixel_values))
#pixel_list = pixel_values
print ("Found ", total, "Pixels")
程序如何运作第 2 部分
'total' 变量在第一行代码中用于检查图像是否包含 100 个像素,如果包含,则将第一个像素设置为绿色。这向用户表明图像已成功扫描并将显示。现在,您可能已经注意到,在这行代码中,绿色的 255 首先出现,但在正常 LED 值中,红色首先出现。这是我的硬件问题。LED 在正常的 RGB 设置中没有接线,而是 GRB!为了解决这个问题,我必须创建一个名为 npc 的新列表,然后使用 for 循环解析每个像素值,提取绿色、红色和蓝色值,然后将它们重新组合成正确的顺序,将它们存储到一个名为 RGB_correct 的变量。接下来,代码将这些正确的值写回 npc 列表。
if total == 100:
unicorn.set_pixel(9, 0, 255, 0, 0)
unicorn.show()
sleep(3)
npc = [] # list to stored new RGB values New Pixel Colours
# Sorts GRB values into RGB values
for i in range(0, 100):
pos = pixel_values[i] # pull first RGB values from list
green = pos[0] # pull out green value
red = pos[1] # pull out red value
blue = pos[2] # pull out blue value
RGB_correct = (red, green, blue)
npc.append(RGB_correct) # adds correct RGB value to new pixel colour list
#print (npc) #uncomment for testing
程序如何运作第 3 部分
代码的最后一部分使用一个数组将每个新像素值存储在 LED 显示屏的正确位置。例如,存储在 npc_list 中的第一组 RGB 值位于位置 0。在名为 pic 的数组中,这个新的像素值被添加到位置 npc[0],在这个特定的 LED 上显示颜色。该阵列由 100 个 LED 中每个 LED 的特定位置组成,并包含颜色值。然后,代码使用代码 unicorn.set_pixels(pic) 将此数据直接写回 LED 板。如果图像大于 100 像素,则 ELSE 语句会显示错误消息,并且第一个像素设置为红色以指示错误。
pic = [[npc[9],npc[8],npc[7],npc[6],npc[5],npc[4],npc[3],npc[2],npc[1],npc[0]], [npc[19],npc[18],npc[17],npc[16],npc[15],npc[14],npc[13],npc[12],npc[11],npc[10]], [npc[29],npc[28],npc[27],npc[26],npc[25],npc[24],npc[23],npc[22],npc[21],npc[20]], [npc[39],npc[38],npc[37],npc[36],npc[35],npc[34],npc[33],npc[32],npc[31],npc[30]], [npc[49],npc[48],npc[47],npc[46],npc[45],npc[44],npc[43],npc[42],npc[41],npc[40]], [npc[59],npc[58],npc[57],npc[56],npc[55],npc[54],npc[53],npc[52],npc[51],npc[50]], [npc[69],npc[68],npc[67],npc[66],npc[65],npc[64],npc[63],npc[62],npc[61],npc[60]], [npc[79],npc[78],npc[77],npc[76],npc[75],npc[74],npc[73],npc[72],npc[71],npc[70]], [npc[89],npc[88],npc[87],npc[86],npc[85],npc[84],npc[83],npc[82],npc[81],npc[80]], [npc[99],npc[98],npc[97],npc[96],npc[95],npc[94],npc[93],npc[92],npc[91],npc[90]]]
unicorn.set_pixels(pic)
unicorn.show()
else:
print ("Image Too Large")
unicorn.set_pixel(9, 0, 0, 255, 0)
unicorn.show()
- 从评论中生成艺术的开源项目
- 亚像素渲染技术灯点排列设计 0次下载
- 仪表艺术品开源硬件
- LED像素时钟开源分享
- 单像素温度计开源分享
- 吃豆人LED像素面板服装开源
- 3R平面艺术机器人开源分享
- 使用LED灯条和声音制作独特的艺术项目
- LED恒流源开源分享
- 频闪LED开源分享
- 圣诞pcb艺术开源设计
- 开源网络协议分析器WireShark软件下载 15次下载
- 基于全卷积神经网络的单像素边缘提取算法 5次下载
- 智能外控表面贴装SMD型LED SK6812-RGBW 3次下载
- LED的技术特点及其在城市光环境艺术设计中的应用 5次下载
- LED显示屏是什么材质 led显示屏参数设置 2719次阅读
- 像素间的基本关系—邻域、邻接、通路、连通、距离 4256次阅读
- 一文看懂LCD、OLED、Mini LED、Micro LED四种显示技术 4000次阅读
- “像素”听得多,“亚像素”又是什么东西? 2035次阅读
- 带RS232端口的LED标牌操作指南 1678次阅读
- 如何使用流行的WS2812 LED制作LED立方体? 6696次阅读
- 如何了解Micro LED技术 5123次阅读
- LED显示屏驱动扫描的特性解析 1271次阅读
- led驱动器工作原理及应用 1.6w次阅读
- 高密度LED平板显示器上实现灰度显示的解决方案 1731次阅读
- 基于微LED显示屏的量子点全色发光的处理过程解析 1565次阅读
- Micro-LED电流驱动的原理与应用 6789次阅读
- LED显示屏像素点失控应该如何解决 6001次阅读
- 全彩LED显示屏像素点失控问题分析 4347次阅读
- PCB设计也能具有艺术性? 3855次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多