基于小安派的可爱摆件

描述

小安派摆件

 

前言

不知道有多少人和笔者一样,被一首“萝莉摇”洗脑过?打开短视频总会看到这首BGM和MV的二创。

 

于是笔者萌生了制作一个相关摆件的想法,这些就用小安派来做个“萝莉摇”摆件,让洗脑来的更彻底!

01

视频演示

 

mcu

02

相关教程

 

起初由于微控制器单元(MCU)的内存限制以及误把mjpeg编码器看成了解码器的原因,只实现了一个基础版本

https://www.bilibili.com/video/BV16e411k7Fc

这个版本没有视频压缩功能,且图像分辨率相当低,仅为60x70像素。之后通过研究写了一个基于RLE和帧间差分的视频压缩。

图像分辨率:150x175,RGB565
压缩前:19425000
压缩后:3296167(16.97%)

和7z、xz等无损压缩还有很大差距,但是胜在解压简单,执行快速,只需要几行代码就可以解压缩。

03

相关代码

 

github:
https://github.com/feilongfl/aipi-eyes-loli

04

踩坑记录

 

 

 LVGL高速刷新图片问题

LVGL在高速刷新图片上有些性能问题,直接使用lcd_draw_picture_blocking会好很多。

 

图像清晰度及色彩

帧间差分是后一图像减去前一图像,反了的话图像会有残影(如下图,图为视频播放截图)。

差分算法还有一定的改进空间,比如为像素色彩加上一个阈值,过滤相似颜色,这样作为有损压缩,对于视频应该也是可以接受的。

mcu

对于彩色图像,整体执行rle效果不佳,因为主体部分色彩连续相同的概率不大,但是对于背景纯色压缩效果极好,因此仅对于背景色进行rle压缩。

因为人物动作主要在中间部分,所以主体部分通过帧间差分后会产生较多的被删除区域,针对这些区域做rle也会有不错的效果。


目前算法针对背景色和帧间差分存储了16bit长的行程信息,后续采用varint可能会更优。

 

芯片存储

芯片的flash是8M,但是bsp默认是4m。william hill官网 找到了相关说明:

https://bbs.ai-thinker.com/forum ... 003&highlight=flash

mcu



但是bsp默认size是4m,于是应用patch修改。

mcu


这样可以方便存下更多视频。
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分