Imagem colorida para imagem em preto e branco

Esta calculadora online converte imagens coloridas em imagens em preto e branco. Duas opções são possíveis: limiar de luminosidade ou Floyd–Steinberg dithering.

Esta página existe graças aos esforços das seguintes pessoas:

Timur

Timur

Julia Gomes

Criado: 2021-07-03 23:59:09, Ultima atualização: 2021-07-03 23:59:09
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Este conteúdo é licenciado de acordo com a Licença Creative Commons de Atribuição/CompartilhaIgual 3.0 (Unported). Isso significa que você pode redistribuir ou modificar livremente este conteúdo sob as mesmas condições de licença e precisa atribuir ao autor original colocando um hyperlink para este trabalho no seu site. Além disto, favor não modificar qualquer referência ao trabalho original (caso houver) que estiverem contidas neste conteúdo.

A calculadora a seguir converte a imagem colorida carregada em uma imagem em preto e branco. Não é uma imagem em tons de cinza como em Conversão de Cor para Escala Cinza, mas uma imagem que consiste apenas de pontos pretos e brancos. Quatro métodos de conversão são suportados - usando um valor de limiar de luminância (que pode ser alterado), Floyd-Steinberg dithering, Jarvis dithering, e Stucki dithering. Você pode ler mais sobre os algoritmos da calculadora abaixo.

PLANETCALC, Imagem colorida para imagem em preto e branco

Imagem colorida para imagem em preto e branco

Limiar: 127
Imagem fonte
  • Arraste para cá os arquivos
Imagem fonte
 
Imagem em preto e branco
 

Conversão de imagem colorida em imagem preto e branco

Usando um limiar de luminosidade

O algoritmo para este método de criação de uma imagem em preto e branco é bastante simples.

  1. Calcule a luminosidade (brilho) de um pixel. A calculadora usa os coeficientes padrão (novamente, consulte Conversão de Cor para Escala Cinza) e o valor da luminosidade é calculado como
     Y = 0.2126R + 0.7152G + 0.0722B

  2. Se o valor calculado for superior ao limiar, substitua a cor do pixel original por branco. Se for menor ou igual, substitua a cor original do pixel por preto.

Por padrão, a calculadora utiliza o valor de 127 como limite, no meio do intervalo [0 ... 255].

Floyd–Steinberg dithering

Usar apenas o valor de limite resulta em transições muito nítidas entre preto e branco, especialmente em bordas suaves. Para solucionar esse problema, em 1976, Floyd e Steinberg propuseram um algoritmo de dithering baseado na difusão do erro de quantização da imagem. 1 A ideia do algoritmo é calcular o erro de quantização (erro de arredondamento) e "retornar" parte dele à imagem original, distribuindo-o entre pixels vizinhos que ainda serão processados.

No algoritmo Floyd–Steinberg, o erro entre pixels adjacentes é distribuído da forma a seguir:

{\displaystyle {\begin{bmatrix}&&*&{\frac {\displaystyle 7}{\displaystyle 16}}&\ldots \\\ldots &{\frac {\displaystyle 3}{\displaystyle 16}}&{\frac {\displaystyle 5}{\displaystyle 16}}&{\frac {\displaystyle 1}{\displaystyle 16}}&\ldots \\\end{bmatrix}}}

Como você pode ver, esta distribuição permite que você processe a imagem em uma única passagem - da esquerda para a direita, de cima para baixo.

O pseudo-código do algoritmo da Wikipédia:

para cada y, de cima para baixo, faça
    para cada x da esquerda para a direita faça
        pixel antigo := pixel[x][y]
        pixel novo := encontrar_paleta_de_cor_mais_próxima(pixel antigo)
        pixel[x][y] := pixel novo
        quant_error := pixel antigo - pixel novo
        pixel[x + 1][y    ] := pixel[x + 1][y    ] + quant_error × 7 / 16
        pixel[x - 1][y + 1] := pixel[x - 1][y + 1] + quant_error × 3 / 16
        pixel[x    ][y + 1] := pixel[x    ][y + 1] + quant_error × 5 / 16
        pixel[x + 1][y + 1] := pixel[x + 1][y + 1] + quant_error × 1 / 16

Existem outros métodos de dithering: Jarvis dithering, Stucki dithering, Burkes dithering, Sierra dithering, mas eles se diferem majoritariamente no esquema de difusão de erro. Eu incluí alguns deles. Se você quiser algum outro, deixe-me saber nos comentários.

Jarvis dithering

{\begin{bmatrix}&&&*&{\frac {7}{48}}&{\frac {5}{48}}&\ldots \\ \ldots &{\frac {3}{48}}&{\frac {5}{48}}&{\frac {7}{48}}&{\frac {5}{48}}&{\frac {3}{48}}&\ldots\\ \ldots &{\frac {1}{48}}&{\frac {3}{48}}&{\frac {5}{48}}&{\frac {3}{48}}&{\frac {1}{48}}&\ldots \\\end{bmatrix}}

Stucki dithering

{\begin{bmatrix}&&&*&{\frac {8}{42}}&{\frac {4}{42}}&\ldots \\ \ldots &{\frac {2}{42}}&{\frac {4}{42}}&{\frac {8}{42}}&{\frac {4}{42}}&{\frac {2}{42}}&\ldots\\ \ldots &{\frac {1}{42}}&{\frac {2}{42}}&{\frac {4}{42}}&{\frac {2}{42}}&{\frac {1}{42}}&\ldots \\\end{bmatrix}}


  1. R.W. Floyd, L. Steinberg, An adaptive algorithm for spatial grey scale (Um algoritmo adaptativo para escala cinza espacial). Proceedings of the Society of Information Display 17, 75–77 (1976). 

URL copiado para a área de transferência
PLANETCALC, Imagem colorida para imagem em preto e branco

Comentários