电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>LED像素艺术开源分享

LED像素艺术开源分享

2023-06-19 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

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()
 
poYBAGOYCl-ANXvSAAEwg93zYMc061.jpg
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费