Meu amigo tem uma imagem colorida com caligrafia chinesa (basicamente tirando uma foto ou digitalizando 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 fazer isso?
Aqui está um exemplo de imagem:
Respostas:
O que você deseja é chamado de "limite" no processamento de imagens. Basicamente, ele pega uma imagem como entrada e gera uma imagem que possui todos os pixels com um valor abaixo de um determinado limite definido como preto e todos os pixels cujo valor está 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 primeiro em escala de cinza para obter 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 maneira interativa (você encontrará a ferramenta no menu principal -> Cores -> Limiar) ou pode usar o ImageMagick da seguinte forma:
A execução do comando acima na imagem de exemplo produz o resultado mostrado abaixo.
Como o limiar costuma ser um processo de tentativa e erro para obter um resultado satisfeito, principalmente 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 essa não é uma opção por qualquer motivo, você também pode fazê-lo através da linha de comando. Para um controle mais preciso da saída, você pode usar ferramentas como curvas de cores, níveis e contraste primeiro 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 cores.)
fonte
-channel
opção de conversão do ImageMagick ) seja aplicado a algum tipo de "valor" do pixel, que é calculado de todos os canais. Essa é a razão pela qual eu disse que você pode querer converter primeiro em escala de cinza para obter resultados mais previsíveis. (Também veja minha edição.)-lat
que executa um limite adaptável local, levando em consideração os pixels circundantes.Você pode usar o Imagemagick:
A partir daqui .
Aqui está o que eu recebi depois de aplicar à sua imagem:
fonte
-monochrome do ImageMagick é uma opção que usa pontilhamento inteligente e torna a saída muito mais visível do que
-threshold
se você pretender para consumo humano:Não faz muita diferença para uma imagem tão simples, mas para imagens maiores, é impressionante.
fonte
Você também pode fazer isso facilmente com o
netpbm
kit de ferramentas:ppmtopgm
converte em uma imagem em escala de cinza,pgmtopbm
em preto ou branco e, em seguida, redirecionamos a saída para um arquivo. Será no formato pbm; se você quiser algo mais comum, precisará adicionar um conversor de saída (por exemplo,pnmtopng
ou algo assim)fonte