Como você binariza uma imagem colorida?

13

Meu amigo tem uma imagem colorida com escrita chinesa (basicamente tirando uma foto ou escaneando o que ele escreveu em um pedaço de papel branco), e ele gostaria que eu a convertesse em uma imagem binária em preto e branco. Existem aplicativos no Ubuntu que podem realizar isso?

Aqui está uma imagem de exemplo:

    
por Tim 09.01.2014 / 21:23

4 respostas

25

O que você deseja é chamado de "limite" no processamento de imagens. Basicamente, é necessária uma imagem como entrada e gera uma imagem que tenha todos os pixels com um valor abaixo de um determinado limite definido como preto e todos os pixels cujo valor esteja acima do limite definido como branco. Isso resulta em uma imagem em preto-e-branco de uma imagem de entrada arbitrária.

Geralmente, você deseja converter em escala de cinza primeiro para resultados mais previsíveis, mas também é possível limitar uma imagem colorida.

Você pode usar uma ferramenta gráfica como o GIMP para fazer isso de forma interativa (você encontrará a ferramenta no menu principal - > Cores - > Limite), ou você pode usar o ImageMagick assim:

convert colored.png -threshold 75% thres_colored.png

A execução do comando acima na imagem de exemplo produz o resultado mostrado abaixo.

Como o limite geralmente é um processo de tentativa e erro para obter um resultado com o qual você está satisfeito, especialmente se a imagem de origem não estiver muito próxima do preto-e-branco, recomendo a abordagem da GUI, se possível , mas se isso não for uma opção por qualquer motivo, você pode fazê-lo através da linha de comando também. Para um controle mais refinado da saída, você pode usar ferramentas como curvas de cores, níveis e contraste para isolar melhor as partes claras e escuras da imagem antes do limiar. (Na verdade, o limite pode ser visto como um caso extremo de uso da ferramenta de curvas de cor.)

    
por 09.01.2014 / 21:48
6

Você pode usar o Imagemagick:

convert test.png -colorspace Gray gray_colorspace.png

Em aqui .

Veja o que recebi depois de aplicar a sua imagem:

    
por 09.01.2014 / 21:35
2

-monochrome do ImageMagick é uma opção que usa alguns dithering inteligentes, e torna a saída muito mais visível do que -threshold se você pretende para o consumo humano:

convert -monochrome signature.png out.png

Não faz muita diferença para uma imagem tão simples, mas para as maiores, é impressionante.

    
por 25.09.2015 / 21:37
1

Você também pode fazer isso facilmente com o kit de ferramentas netpbm :

anytopnm inputfile | ppmtopgm | pgmtopbm > outputfile

ppmtopgm é convertido em uma imagem em tons de cinza, pgmtopbm é convertido em uma imagem em preto-e-branco e, em seguida, redirecionamos a saída para um arquivo. Será no formato pbm; Se você quiser algo mais comum, terá que adicionar um conversor de saída (por exemplo, pnmtopng ou algo assim)

    
por 26.09.2015 / 10:32

Tags