[2020]掌控板显示图片(三)-- 进阶版处理图片及显示动画
接上一个显示图片的帖子,我们已经学会了发送一张图片数据给掌控,接下来自然是进阶版的显示动图效果(多张图片一张张显示)。一、图片处理:
之前用到 Gimp 软件处理图片为PBM格式,处理好的 PBM 格式的图片数据:
注意到需要用三次 f.readline() 把前三行的数据处理掉。
数据内容如下:
第一行:P4,即 PBM 二进制数据
第二行:注释行,说明图片 timg.pbm 是由 Gimp 生成的
第三行:图像的像素为 485x377
我们还可以利用 Linux 系统中的 convert 命令来处理图片,请出虚谷号。
此处有个 benpao.jpg 的图片
终端下输入:
convert benpao.jpg benpao.pbm
瞬间就可以把 benpao.jpg 转化成 benpao.pbm
终端下输入:convert -resize 88x64! benpao.jpg benpao-01.pbm# 88和64之间是字母'x' ,'!' 叹号是强制转换
把 benpao.jpg 强制转换为像素大小 88x64 的 benpao-01.pbm
利用 convert 处理好的 PBM 格式的图片数据:
注意到只需要两次 f.readline()处理数据:
第一行:P4,即 PBM 二进制数据
第二行:图像的像素为 88x64
当然,convert 也可以用于批量处理,有兴趣的可以看看 在 Linux 下将 PNG 和 JPG 批量互转的四种方法 。
二、显示动画效果
所谓显示动画效果,其实就是连续接收并显示一张张图片,形成动画效果。
俗话说有屏的地方就有 Bad Apple ,这次我们的终极目标就是显示这个。
1. Bad Apple 图片数据处理
在B站看到 WGzeyu 的视频 ESP8266驱动12864LCD播放Bad Apple!! ,通过WiFi 传输 Bad Apple 的视频,不过是基于 arduino IDE 编程的。从他的 Github 上下载了5帧版本的 Bad Apple 图片数据(BMP格式),利用 convert 处理成 PBM格式。
2. 掌控端程序
利用之前的掌控板显示图片的程序,更改了下 oled.blit() 里的位置参数,便于居中显示 88x64 像素的图片
3. 电脑端程序
最终效果:
https://www.bilibili.com/video/av84744553
P.S.
感谢 WGzegu 的 Bad Apple 图片数据。
附件内容为处理好的 PBM 图片合集。
附件中 Readme.md 的内容
学无止境,学海无涯 这个得学一下了 太厉害了,好神奇呀~ 这个好,必须支持。
页:
[1]