图片转RGB数组格式

0 Preface/Foreword

嵌入式开发中,想要在LCD屏幕中显示任意照片,该如何操作?

  • 根据LCD的大小确定把照片进行缩放;比如LCD的规格为:360 RGB* 360, 原始照片的大小为:1000RGB*1000,那么就需要先将照片缩小为在360RGB * 360之内。
  • 将照片转换成16进制数组形式,并放在头文件中;

1 转换方法

1.1 Linux下的命令方式

1.1.1 使用命令ffmpeg xxd进行转化

ffmpeg -i Frank_160_160.png -f rawvideo -pix_fmt  rgb565 Frank_160_160.raw

图片转RGB数组格式_第1张图片

1.1.2 随后将Frank_160_160.raw文件转换成Frank_160_160.h

xxd -i Frank_160_160.raw Frank_160_160.h  

1.1.3 查看头文件内容

图片转RGB数组格式_第2张图片

数组长度:160 * 160 * 2  = 51200

 一个pixel(像素)需要一组RGB表示,示例中采用的是RGB565的格式,需要2Bytes

1.1.4 RGB数据对齐方式

 Little Endian(小端)方式,低字节在低地址高字节在高地址

0x00000000 ->0x00000001表示一个pixel数据,也是第一个pixel

NOTE:地址0x00000000是假定的数组起始地址,具体地址以系统分配为准。

图片转RGB数组格式_第3张图片

你可能感兴趣的:(Bluetrum(蓝讯),LCD)