ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
我们前面爬取了图片,然后将图片保存到了本地。现在我们利用这些图片做一个手势识别控制的电子相册。 当手左右滑动时切换图片。 首先导入必要的库 ```python # -*- coding:utf-8 -*- # b.py import pygame, sys from pygame.locals import * import time ``` 然后编写init()函数,主要是初始化pygame和创建一个窗口 这里screen_size最好依据显示屏的最大分辨率来,通过xrandr命令查看显示屏的分辨率。 FULLSCREEN参数是占据整个屏幕的意思。 <div align="center"><img src="a.png"/></div> ```python def init(): # 初始化 pygame.init() # 初始化pygame screen_size = (800, 720) # 设置窗口的大小 screen = pygame.display.set_mode(screen_size, FULLSCREEN, 32) # 设置窗口 return screen ``` 我们需要捕捉一个手势识别的状态,编写一个事件函数eventCheck() ```python def eventCheck(): for event in pygame.event.get(): if event.type in [QUIT, KEYDOWN]: pygame.quit() sys.exit() ``` 我们要显示图片,这里编写一个显示图片的函数,为了有更好的效果,编写实现图片淡入淡出效果的函数。 ```python # 显示 def fade(screen, p, rg): for alpha in rg: p.set_alpha(alpha) # 改变透明度 screen.fill(0, 0, 0) screen.blit(p, (0, 0)) pygame.display.update() # 更新屏幕显示 time.sleep(0.01) # 淡入 def fadeIn(screen, p): rg = range(0, 257, 4) # 透明度范围由0过渡到256,步长为4 fade(screen, p, rg) # 淡出 def fadeOut(screen, p): rg = range(255, 0, -4) # 透明度范围由255过渡到0,步长为4 fade(screen, p, rg) ``` 编写主函数 ```python if __name__ == '__main__': screen = init() #初始化 i = 0 while i < 30: img = r'./photo/img_' + str(i) + r'.jpg' p = pygame.load(img).convert() # 加载本地图片 fadeIn(p) # 淡入 time.sleep(0.5) # 每张图片显示停留0.5秒 fadeOut(p) # 淡出 i += 1 if i == 30: i = 0 eventCheck() ``` 运行b.py程序,可以看到循环播放图片。按**Ctrl + C** 就可以退出程序。 现在我们来加入手势识别函数,来控制相册图片的切换。当我们没有做出任何手势时,图片正常切换,当我们手滑动,如向左滑动时,图片切换到上一张。 我们需要将手势识别的库下载到树莓派上,见前面<p id="color" style="color:red">模块介绍</p> 然后在程序中导入手势识别的库 ```python import ```