Quero imprimir alguns desenhos de linha em A3, mas eles não são muito grandes - cerca de 600x800px.
Tentei funções óbvias no Gimp, como redimensionar e aprimorar com apontador de wavelet ou máscara de nitidez, com desfoque gausiano seletivo antes, mas os resultados da impressão não são bons.
Também não são fáceis para vetorização, mas talvez ajustar alguma ferramenta de rastreamento possa me dar melhores resultados do que redimensionar o bitmap. Antes de começar a explorar esta opção, pensei em pedir conselhos:
Alguém pode compartilhar uma receita, usando algoritmos de programação (numpy / scipy ou matlab) ou usando as ferramentas disponíveis no Gimp ou Photoshop, para obter redimensionamento de qualidade do desenho de linhas?
image-processing
zetah
fonte
fonte
Respostas:
Não tenho certeza se essa é a melhor maneira no seu caso, mas tive sucesso com a combinação de filtros gaussiano e mediano.
Aqui está um exemplo que fiz inteiramente no Paint.NET. Imagem original:
Redimensione para 400% (vizinho mais próximo):
Desfoque Gaussiano (raio: 6,0 px):
Filtro mediano (raio: 4 px, percentil: 50%):
Níveis para aprimorar o contraste:
Curvas para cortar sombras borradas (o limiar funcionaria melhor, mas isso não está disponível no Paint.NET por padrão):
Observe que o desenho fino sem serrilhado precisa ser reforçado. Você pode conseguir isso aplicando Níveis anteriores ao filtro Mediano.
Os parâmetros dos filtros que usei são puramente experimentais - brincar com eles pode levar a melhores resultados. Talvez o zoom na escada desta maneira possa melhorá-lo também.
fonte
Dê uma olhada nos algoritmos de escala de pixel art , particularmente os algoritmos hqx . Eles geralmente são limitados a um fator de escala inteiro (ou seja, 2x, 3x, 4x), portanto não são de uso geral, mas devem se sair muito bem em desenhos de linha.
fonte
Isso está no topo da minha cabeça, mas supondo que você esteja lidando com imagens que podem ser tratadas como binárias (um pixel pertence a uma linha do desenho ou não), tente aumentar as imagens (com o desfoque resultante) limiar para binarizar a imagem ampliada e, em seguida, realizando o afinamento morfológico.
No MATLAB, você examinaria as funções imresize , im2bw e bwmorph .
Espero que isto ajude...
fonte
Você já tentou converter a imagem em uma versão vetorial similar, sei que o Flash e o Inkscape têm os seguintes:
http://inkscape.org/doc/tracing/tutorial-tracing.html
https://www.google.com/search?q=flash+image+to+vector
fonte