
前言、先看效果对比
二值化黑白图像展示
灰度抖动图像展示
一、黑白世界的色彩想象
之前使用 ESP32-S3 + 12864 OLED 做了个串流小电视(见 桌面小电视新思路,ESP32-S3 + 12864 OLED 串流视频),通过网络发送视频帧的方式来播放视频。
因为 12864 OLED 是一个单色显示屏,因此在播放视频时,整个画面的颜色通过“灰度化->二值化”的步骤来生成黑白纯色画面,在视频中可以看到画面没有层次和细节,不太容易看清画面内容是什么。
因此我们需要引入灰度来让整个画面更加丰富,但是在 12864 OLED 没有灰度的情况下如何显示灰度信息呢?
在这里我们就可以引入一种特别的显示技术——抖动 (Dithering),它能让单色屏幕拥有显示4阶灰度的能力。
二、什么是抖动 (Dithering)?
抖动,它的原理却非常直观,相当于通过大脑形成一种视觉错觉。
在单色屏幕上,只有纯黑和纯白的像素。抖动的核心思想就是:通过改变像素点的排布密度,来模拟出不同程度的灰度。
举个最简单的例子,如果你仔细观察报纸上的照片,你会发现那些“灰色”的部分,其实是由许多大小不一或疏密不同的黑色墨点组成的。在远处看,这些墨点混合在一起,就形成了我们看到的灰度。旧式的点阵打印机也是同样的原理,通过打印点的疏密来表现深浅。
抖动就是利用人眼的这种视觉混合效应。当我们观察一个由许多纯黑和纯白像素组成的区域时,如果这些像素非常小并且排列得足够紧密,我们的大脑就会将这些黑白像素的混合视为一个统一的灰色。像素点越密,看起来就越黑;像素点越稀疏,看起来就越白。
三、4 阶灰度:从纯黑到纯白
我们通常说的灰度,可以有 256 级,甚至更多。但是通过抖动模拟出的灰度,其实是牺牲了有效分辨率换来的。
对于 12864 OLED 来说,原生的黑白分辨率是 …
阅读全文 »














近期评论