C中最快的抖动/半色调库

5 c image-processing dithering quantization

我正在开发一个自定义瘦客户端服务器,为其客户端提供渲染的网页.服务器在多核Linux机器上运行,Webkit提供html渲染引擎.

唯一的问题是客户端显示受限于4位(16色)灰度调色板.我目前正在使用LibGraphicsMagick抖动图像(RGB-> 4bit灰度),这是服务器性能的明显瓶颈.分析表明,超过70%的时间用于运行GraphicsMagick抖动函数.

我已经探索了stackoverflow和Interwebs以获得良好的高性能解决方案,但似乎没有人在各种图像处理库和抖动解决方案上做任何基准测试.

我会更乐意发现:

  1. 什么是关于抖动/半色调/量化RGB图像到4位灰度的最高性能库.
  2. 是否有任何特定的抖动库或任何可以指向我的公共域代码片段?
  3. 在高性能方面,您更喜欢哪些库来操作图形?

首选C语言库.

Adi*_*sak 2

根据所选择的算法,抖动将花费相当多的时间。

实现拜耳(矩阵)弗洛伊德-斯坦伯格(扩散)抖动相当简单。

当使用 MMX/SSE 编码来处理并行像素时,拜耳过滤可以变得非常快。您还可以使用 GPU 着色器进行抖动/转换。

FWIW,您已经在使用 GraphicsMagick,但这里有 OSS 图形库的完整列表