Dithering Floyd-Steinberg de uma imagem

Reduza o número de cores de uma foto mantendo a ilusão das nuances graças ao algoritmo de dithering Floyd-Steinberg, que difunde o erro de quantização para os pixels vizinhos. Ajuste o número de níveis por canal e o modo preto e branco.

Exemplo:
Arraste e solte uma imagem ou clique para procurar. 25 MB no máximo.

Como funciona

Cada pixel é quantizado (arredondado) para o nível de cor disponível mais próximo, dentro do número de níveis escolhido. A diferença entre o valor original e o valor arredondado (o erro) é então redistribuída para os pixels vizinhos ainda não processados (7/16 à direita, 3/16, 5/16 e 1/16 na linha seguinte), segundo o método Floyd-Steinberg de 1976. Essa difusão cria uma textura de pontos que simula visualmente nuances intermediárias ausentes da paleta reduzida.

Por que usar apenas 2 níveis por canal dá um visual de "impressão antiga"?

Com 2 níveis, cada canal só pode assumir o valor mínimo ou máximo (preto ou branco para um canal). O padrão de pontos que resulta para representar os cinzas intermediários lembra muito o resultado de antigas impressoras matriciais ou de telas com profundidade de cor muito baixa.

Qual é a diferença para uma simples posterização?

Uma posterização clássica arredonda cada pixel de forma independente, sem considerar os vizinhos, o que cria faixas de cor bem marcadas. O dithering Floyd-Steinberg redistribui o erro cometido em cada pixel para os vizinhos, o que dá uma transição mais suave e um resultado menos abrupto entre áreas de cores diferentes.

O cálculo de difusão de erro é executado pixel a pixel diretamente no seu navegador: sua foto nunca é enviada a um servidor.