Redimensionner l'image de dessin au trait

8

Je veux imprimer des dessins au trait sur A3, mais ils ne sont pas très grands - environ 600x800px.

J'ai essayé des fonctions évidentes dans Gimp, comme redimensionner puis améliorer avec un aiguiseur d'ondelettes ou un masque flou, avec un flou gausian sélectif avant, mais les résultats d'impression ne sont pas bons.

Ils ne sont pas faciles à vectoriser non plus, mais peut-être peaufiner un outil de traçage peut me donner de meilleurs résultats que le redimensionnement du bitmap. Avant de commencer à explorer cette option, j'ai pensé demander conseil:

Quelqu'un peut-il partager une recette, en utilisant des algorithmes de programmation (numpy / scipy ou matlab) ou en utilisant des outils disponibles dans Gimp ou Photoshop, pour effectuer un redimensionnement de qualité du dessin au trait?

zetah
la source

Réponses:

2

Je ne sais pas si c'est la meilleure façon dans votre cas, mais j'ai réussi avec une combinaison de filtres gaussiens et médians.

Voici un exemple que j'ai fait entièrement dans Paint.NET. Image originale:

entrez la description de l'image ici

Redimensionner à 400% (voisin le plus proche):

entrez la description de l'image ici

Flou gaussien (rayon: 6,0 px):

entrez la description de l'image ici

Filtre médian (rayon: 4 px, centile: 50%):

entrez la description de l'image ici

Niveaux pour améliorer le contraste:

entrez la description de l'image ici

Courbes pour couper les ombres floues (le seuillage fonctionnerait mieux, mais ce n'est pas disponible dans Paint.NET par défaut):

entrez la description de l'image ici

Notez que le dessin fin sans alias doit être renforcé. Vous pouvez y parvenir en appliquant des niveaux avant le filtre médian.

Les paramètres des filtres que j'ai utilisés sont purement expérimentaux - jouer avec ceux-ci peut conduire à de meilleurs résultats. Peut-être que le zoom sur les marches de cette façon peut également l'améliorer.

Libor
la source
Merci pour votre réponse, c'est une bonne approche qui ressort de vos exemples. Cependant, je n'ai pas fourni d'exemple, comme je le devrais, et mes images au trait incluent la couleur et même certaines ont des dégradés. J'ai testé quelques programmes de traçage, mais ils ont tous été confondus par le modèle de dégradé. Je suis maintenant au milieu de la touche finale avec Gimp en utilisant le filtre de détection de bord avec l'outil de chemin. Cela prend du temps, mais c'est une expérience intéressante. Cheers
zetah
Si vous pouvez séparer les parties colorées / texturées et les parties encrées, vous pouvez probablement redimensionner chacune avec une méthode différente, puis placer le dessin au trait agrandi sur la partie colorée agrandie avec la méthode classique.
Libor
6

Jetez un œil aux algorithmes de mise à l'échelle du pixel art , en particulier les algorithmes hqx . Ils sont généralement limités à un facteur d'échelle entier (c.-à-d. 2x, 3x, 4x), donc ils ne sont pas complètement polyvalents, mais ils devraient très bien faire sur les dessins au trait.

eglaser
la source
0

Cela vient du haut de ma tête, mais en supposant que vous avez affaire à des images qui peuvent être traitées comme binaires (soit un pixel appartient à une ligne du dessin ou non), vous pouvez essayer d'agrandir vos images (avec le flou qui s'ensuit) puis seuillage pour binariser l'image agrandie, puis effectuer un amincissement morphologique.

Dans MATLAB, vous regarderiez les fonctions imresize , im2bw et bwmorph .

J'espère que cela t'aides...

Aky
la source