在 Racket 中编写我自己的抖动算法

主要观点:在彩色屏幕盛行的 2025 年,仍有人关注黑白图像,作者在构建打印自定义报纸的设备时遇到将彩色猫照片转换为黑白打印的问题,通过介绍图像抖动技术来解决,包括灰度转换、阈值处理、误差扩散抖动(以 Atkinson 抖动为例)以及创建新的抖动算法等。
关键信息

  • 图像抖动是用小调色板表示依赖大调色板的图像的技术,能让眼睛感知到更多颜色深度。
  • 灰度转换可通过平均 RGB 值或特定公式实现,将彩色图像转换为黑白图像。
  • 阈值处理根据阈值将像素归为黑色或白色,如 halfway 点为 127。
  • 误差扩散抖动将像素的量化误差扩散到未处理的邻居像素,以减少误差,Atkinson 抖动扩散 3/4 的量化误差。
  • 作者创建了新的抖动算法,将 7/8 的误差扩散到邻居像素,效果较好。
    重要细节
  • 展示了彩色泰姬陵照片和抖动版本的对比。
  • 给出了各种算法的代码,如灰度转换、阈值处理、Atkinson 抖动和作者的新算法代码。
  • 提及多个参考资料用于深入了解图像抖动算法。
  • 介绍了作者的身份和其他作品及社交账号。
阅读 7
0 条评论