Outils pour utilisateurs

Outils du site


issue171:inkscape

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue171:inkscape [2021/08/05 16:18] andre_domenechissue171:inkscape [2021/08/06 09:54] (Version actuelle) auntiee
Ligne 9: Ligne 9:
 Autotrace Autotrace
  
-Inkscape propose depuis longtemps le traçage des bitmaps à l'aide de la bibliothèque Potrace. Bien que cette dernière fasse un excellent travail de vectorisation des dessins matriciels, ce n'est pas le seul outil Open Source qui réalise cette opération. Autotrace est un outil en ligne de commande du même type, qui a été intégré dans la boîte de dialogue Vectoriser un objet matriciel. Il est disponible dans la fenêtre pop-up de sélection du mode, à la fois en version simple et multiple. Cette dernière est étiquetée « Autotrace (plus lent) », ce qui suggère qu'elle ne devrait probablement pas être votre premier choix pour une conversion à passes multiples - une suggestion sur laquelle je reviendrai plus tard. Pour l'instant, cependant, nous allons commencer par examiner la variante à une seule passe.+Inkscape propose depuis longtemps le traçage des bitmaps à l'aide de la bibliothèque Potrace. Bien que cette dernière fasse un excellent travail de vectorisation des dessins matriciels, ce n'est pas le seul outil Open Source qui réalise cette opération. Autotrace est un outil en ligne de commande de la même cuvée, qui a été intégré dans la boîte de dialogue Vectoriser un objet matriciel. Il est disponible dans la fenêtre pop-up de sélection du mode, à la fois en version simple et multiple. Cette dernière est étiquetée « Autotrace (plus lent) », ce qui suggère qu'elle ne devrait probablement pas être votre premier choix pour une conversion à passes multiples - une suggestion sur laquelle je reviendrai plus tard. Pour l'instant, cependant, nous allons commencer par examiner la variante à une seule passe.
  
 **Once selected, it offers two spinboxes and an “Invert image” checkbox. The latter, as the name suggests, inverts the image colors before tracing, making it easier to trace a light-on-dark design without having to manually process it first. The effect of the two spinboxes is somewhat harder to guess at. **Once selected, it offers two spinboxes and an “Invert image” checkbox. The latter, as the name suggests, inverts the image colors before tracing, making it easier to trace a light-on-dark design without having to manually process it first. The effect of the two spinboxes is somewhat harder to guess at.
Ligne 17: Ligne 17:
 Une fois sélectionné, il propose deux boîtes à compteur et une case à cocher « Inverser l'image ». Cette dernière, comme son nom l'indique, inverse les couleurs de l'image avant le traçage, ce qui permet de tracer plus facilement un dessin clair sur foncé sans avoir à le traiter manuellement au préalable. L'effet des deux boîtes à compteur est un peu plus difficile à deviner. Une fois sélectionné, il propose deux boîtes à compteur et une case à cocher « Inverser l'image ». Cette dernière, comme son nom l'indique, inverse les couleurs de l'image avant le traçage, ce qui permet de tracer plus facilement un dessin clair sur foncé sans avoir à le traiter manuellement au préalable. L'effet des deux boîtes à compteur est un peu plus difficile à deviner.
  
-La maigre documentation d'Autotrace - qui est en fait une copie en ligne de la page de manuel de l'outil en ligne de commande - décrit l'option « Itérations du filtre » comme suit : Lisse la courbe le nombre d'itérations spécifié avant l'ajustement. Sans savoir ce que l'on entend par « ajustement » dans cet algorithme, il est difficile d'en déduire ce que cela fait réellement. Les essais et erreurs suggèrent qu'il réduit quelque peu la fidélité de la trace, en lissant les vecteurs générés et en tendant à produire une trace avec moins de nœuds. Voici à quoi ressemblent les valeurs les plus extrêmes appliquées à ce bon vieux Frankie. Le bitmap d'origine est à gauche, avec des versions rognées de la tête tracée à droite. Pour la trace du haut, le nombre d'itérations du filtre a été fixé à 1 ; pour celle du bas, il a été fixé à 20.+La maigre documentation d'Autotrace - qui est en fait une copie en ligne de la page de manuel de l'outil en ligne de commande - décrit l'option « Itérations du filtre » comme suit : Lisse la courbe le nombre d'itérations spécifié avant l'ajustement. Sans savoir ce que l'on entend par « ajustement » dans cet algorithme, il est difficile d'en déduire ce que cela fait réellement. Le tâtonnement suggère qu'il réduit quelque peu la fidélité de la trace, en lissant les vecteurs générés et en tendant à produire une trace avec moins de nœuds. Voici à quoi ressemblent les valeurs les plus extrêmes appliquées au bon vieux Frankie. Le bitmap d'origine est à gauche, avec des versions rognées de la tête tracée à droite. Pour la trace du haut, le nombre d'itérations du filtre a été fixé à 1 ; pour celle du bas, il a été fixé à 20.
  
 **Note that the higher iterations have reduced or wiped out the whites of the eyes, while the veins on the brain are a mere shadow of the original. The shape of the ear and of the brain’s outline are also significantly smoother. The total node count for the traced head is 485 for the top image and 410 for the bottom one. **Note that the higher iterations have reduced or wiped out the whites of the eyes, while the veins on the brain are a mere shadow of the original. The shape of the ear and of the brain’s outline are also significantly smoother. The total node count for the traced head is 485 for the top image and 410 for the bottom one.
Ligne 25: Ligne 25:
 Notez que les itérations plus nombreuses ont réduit ou supprimé le blanc des yeux, tandis que les veines du cerveau ne sont qu'une ombre de l'original. La forme de l'oreille et le contour du cerveau sont également beaucoup plus lisses. Le nombre total de nœuds dans le tracé de la tête est de 485 pour l'image du haut et de 410 pour celle du bas. Notez que les itérations plus nombreuses ont réduit ou supprimé le blanc des yeux, tandis que les veines du cerveau ne sont qu'une ombre de l'original. La forme de l'oreille et le contour du cerveau sont également beaucoup plus lisses. Le nombre total de nœuds dans le tracé de la tête est de 485 pour l'image du haut et de 410 pour celle du bas.
  
-La deuxième boîte à compteur, pour le réglage du « Seuil d'erreur », est décrite comme suit dans la page de manuel : Subdivise les courbes ajustées qui sont décalées d'un nombre de pixels dépassant le nombre réel spécifié. Cette fois-ci, je peux au moins deviner. Le processus de traçage d'un bitmap consiste à générer des chemins qui se rapprochent de la forme des pixels d'origine. Les chemins seront probablement très proches dans certaines zones, mais moins précis dans d'autres. Ce paramètre vous permet de définir le seuil avant lequel un segment de trajectoire sera considéré comme trop éloignéet sera subdivisé en deux trajectoires pour faciliter leur ajustement. Si vous définissez une petite valeur, vous ne pourrez vous écarter que légèrement de la position des pixels, au prix d'un nombre beaucoup plus important de subdivisions et, par conséquent, de nœuds dans le résultat. Voyons comment Frankie s'en sort avec des valeurs de 1,0 (en haut) et 10,0 (en bas).+La deuxième boîte à compteur, pour le réglage du « Seuil d'erreur », est décrite comme suit dans la page du manuel : Subdivise les courbes ajustées qui sont décalées d'un nombre de pixels dépassant le nombre réel spécifié. Cette fois-ci, je peux au moins essayer de deviner. Le processus de traçage d'un bitmap consiste à générer des chemins qui se rapprochent de la forme des pixels d'origine. Les chemins seront probablement très proches dans certaines zones, mais moins précis dans d'autres. Ce paramètre vous permet de définir le seuil avant lequel un segment de trajectoire sera considéré comme trop éloigné et sera subdivisé en deux trajectoires pour faciliter leur ajustement. Si vous définissez une petite valeur, vous ne pourrez vous écarter que légèrement de la position des pixels, au prix d'un nombre beaucoup plus important de subdivisions et, par conséquent, de nœuds dans le résultat. Voyons comment Frankie s'en sort avec des valeurs de 1,0 (en haut) et 10,0 (en bas).
  
 **It’s pretty clear that the higher value results in a trace that is so smoothed out as to lose many of the original shapes completely. The top image, where the paths were much more heavily subdivided, consists of 587 nodes; the bottom one has only 327. **It’s pretty clear that the higher value results in a trace that is so smoothed out as to lose many of the original shapes completely. The top image, where the paths were much more heavily subdivided, consists of 587 nodes; the bottom one has only 327.
Ligne 38: Ligne 38:
 Comme je le conseille souvent dans cette rubrique, je suggère à la plupart des utilisateurs de commencer avec les valeurs par défaut pour les deux boîtes à compteur, et de ne commencer à les modifier que si vous avez besoin d'améliorer la fidélité du tracé, ou si vous voulez adopter la contre-approche consistant à réduire le nombre de nœuds. Même dans ce dernier cas, je serais probablement plus enclin à vectoriser avec les valeurs par défaut et à utiliser ensuite Chemin > Simplifier. Comme je le conseille souvent dans cette rubrique, je suggère à la plupart des utilisateurs de commencer avec les valeurs par défaut pour les deux boîtes à compteur, et de ne commencer à les modifier que si vous avez besoin d'améliorer la fidélité du tracé, ou si vous voulez adopter la contre-approche consistant à réduire le nombre de nœuds. Même dans ce dernier cas, je serais probablement plus enclin à vectoriser avec les valeurs par défaut et à utiliser ensuite Chemin > Simplifier.
  
-La question la plus importante est peut-être de savoir comment les résultats d'Autotrace se comparent aux équivalents de Potrace. Voici une autre paire de Frankies vectorisés, créés avec les paramètres par défaut : en haut, le « Seuil de luminosité » de Potrace ; en bas, la version d'Autotrace. Encore une fois, la tête complète à gauche est l'image raster originale.+La question la plus importante est peut-être de savoir comment les résultats d'Autotrace se comparent aux équivalents de Potrace. Voici une autre paire de Frankies vectorisés, créés avec les paramètres par défaut : en haut, le « Seuil de luminosité » de Potrace ; en bas, la version d'Autotrace. Encore une fois, la tête complète à gauche est l'image raster originale. 
  
 La première chose à noter est que la version d'Autotrace a conservé la couleur grise de l'image originale, bien que ce soit une chose si triviale à changer que cela ne devrait pas être utilisé comme une raison pour choisir l'une plutôt que l'autre. Le résultat de Potrace est beaucoup plus net, les trajectoires conservant plus précisément les angles aigus de la tête et les lignes plus fines des sourcils. Cette précision se reflète dans le nombre de nœuds : 1 090 pour Potrace mais seulement 440 pour Autotrace. La première chose à noter est que la version d'Autotrace a conservé la couleur grise de l'image originale, bien que ce soit une chose si triviale à changer que cela ne devrait pas être utilisé comme une raison pour choisir l'une plutôt que l'autre. Le résultat de Potrace est beaucoup plus net, les trajectoires conservant plus précisément les angles aigus de la tête et les lignes plus fines des sourcils. Cette précision se reflète dans le nombre de nœuds : 1 090 pour Potrace mais seulement 440 pour Autotrace.
Ligne 60: Ligne 60:
 And what of La Giaconda? After many minutes of processing my memory, swap and CPU were all maxed out, then Inkscape disappeared off my screen entirely. There was no appearance of the usual crash dialog I see when it dies, leading me to suspect that its demise was perhaps the fault of the Linux kernel killing it due to lack of available resources.** And what of La Giaconda? After many minutes of processing my memory, swap and CPU were all maxed out, then Inkscape disappeared off my screen entirely. There was no appearance of the usual crash dialog I see when it dies, leading me to suspect that its demise was perhaps the fault of the Linux kernel killing it due to lack of available resources.**
  
-De vous à moi, il peut sembler qu'Autotrace ait passé plusieurs minutes à juste produire un cercle de couleur saumon. Mais non : ce que vous regardez est en réalité un groupe de 4 180 objets ! A titre de comparaison, la version Potrace contient 8 objets, un pour chaque couleur définie via la boîte à compteur « Passes ».+À nous deux, il peut sembler qu'Autotrace ait passé plusieurs minutes à ne produire qu'un cercle de couleur saumon. Mais non : ce que vous regardez est en réalité un groupe de 4 180 objets ! A titre de comparaison, la version Potrace contient 8 objets, un pour chaque couleur définie via la boîte à compteur « Passes ».
  
 Le fait de passer à la vue des contours suggère que les formes ont été tracées et qu'elles sont cachées quelque part dans le filet saumon qui se trouve devant nous, mais les contours plus épais indiquent clairement des chemins complexes par rapport à la simplicité de la version Potrace. Le fait de passer à la vue des contours suggère que les formes ont été tracées et qu'elles sont cachées quelque part dans le filet saumon qui se trouve devant nous, mais les contours plus épais indiquent clairement des chemins complexes par rapport à la simplicité de la version Potrace.
Ligne 72: Ligne 72:
 If Autotrace offers little or no improvement over Potrace, and in some cases is far too resource hungry, why bother adding it to Inkscape at all? The reason is that it offers one type of frequently requested tracing mode that Potrace does not – center line tracing. In fact the menu entries described previously are there only as a side-effect of including this mode. After all, if you’re adding the library anyway, why not also expose the standard tracing mode as well, to give your users more options.** If Autotrace offers little or no improvement over Potrace, and in some cases is far too resource hungry, why bother adding it to Inkscape at all? The reason is that it offers one type of frequently requested tracing mode that Potrace does not – center line tracing. In fact the menu entries described previously are there only as a side-effect of including this mode. After all, if you’re adding the library anyway, why not also expose the standard tracing mode as well, to give your users more options.**
  
-Même avec un tracé « réussi », le nombre d'objets créés est pratiquement impossible à gérer. Il y a peut-être certains types d'images pour lesquels ce mode offre un avantage, mais je ne l'essaierais que si les méthodes de Potrace ne donnent pas de résultats acceptables, et assurez-vous de sauvegarder votre fichier avant !+Même avec un tracé « réussi », le nombre d'objets créés est pratiquement impossible à gérer. Il y a peut-être certains types d'images pour lesquels ce mode offre un avantage, mais je ne l'essaierais que si les méthodes de Potrace ne donnent pas de résultats acceptables, mais assurez-vous de sauvegarder votre fichier avant !
  
 Traçage par Ligne centrale Traçage par Ligne centrale
Ligne 84: Ligne 84:
 The real difference becomes clear when we take a closer look at the nodes used to make up the two traced paths. The first is a closed, filled path, so you can see that the nodes make up the outer shape of the stroke. The center line trace, on the other hand, results in an open path made up of a simple line of nodes: any suggestion of line thickness is purely down to the value set for the stroke width.** The real difference becomes clear when we take a closer look at the nodes used to make up the two traced paths. The first is a closed, filled path, so you can see that the nodes make up the outer shape of the stroke. The center line trace, on the other hand, results in an open path made up of a simple line of nodes: any suggestion of line thickness is purely down to the value set for the stroke width.**
  
-Le traçage de la ligne centrale ne s'applique réellement qu'à l'art du trait dans lequel les formes sont constituées de traits individuels au stylo ou au crayon. Avec les autres modes de traçage, chaque trait est converti en un chemin fermé et rempli qui reflète l'épaisseur et la forme de l'œuvre originale. Avec ce nouveau mode, cependant, l'algorithme de traçage tente de déterminer un chemin unique qui trace une ligne suivant le milieu du trait original.+Le traçage de la ligne centrale ne s'applique réellement qu'à l'art du trait dans lequel les formes sont constituées de traits individuels au stylo ou au crayon. Avec les autres modes de traçage, chaque trait est converti en un chemin fermé et rempli qui reflète l'épaisseur et la forme de l'œuvre originale. Avec ce nouveau mode, cependant, l'algorithme de traçage tente de déterminer un chemin unique qui trace une ligne qui suit le milieu du trait original.
  
 Pour l'exemple le plus simple du monde réel, considérons un simple trait de stylo sur du papier, numérisé et importé dans Inkscape. La ligne supérieure de cette image est le graphique raster original numérisé. La deuxième montre le résultat d'un tracé normal - notez que les extrémités bombées de la ligne sont reproduites dans ce mode. La troisième ligne est le résultat d'un tracé de ligne centrale, aucun épaississement de la ligne aux extrémités de cette version. Pour l'exemple le plus simple du monde réel, considérons un simple trait de stylo sur du papier, numérisé et importé dans Inkscape. La ligne supérieure de cette image est le graphique raster original numérisé. La deuxième montre le résultat d'un tracé normal - notez que les extrémités bombées de la ligne sont reproduites dans ce mode. La troisième ligne est le résultat d'un tracé de ligne centrale, aucun épaississement de la ligne aux extrémités de cette version.
  
-La véritable différence apparaît clairement lorsque l'on examine de plus près les nœuds utilisés pour constituer les deux tracés. Le premier est un tracé fermé, rempli, et vous pouvez voir que les nœuds constituent la forme extérieure du trait. Le tracé de la ligne centrale, en revanche, donne lieu à un tracé ouvert constitué d'une simple ligne de nœuds : toute l'impresstion d'épaisseur de ligne est purement due à la valeur définie pour la largeur du trait.+La véritable différence apparaît clairement lorsque l'on examine de plus près les nœuds utilisés pour constituer les deux tracés. Le premier est un tracé fermé, rempli, et vous pouvez voir que les nœuds constituent la forme extérieure du trait. Le tracé de la ligne centrale, en revanche, donne lieu à un tracé ouvert constitué d'une simple ligne de nœuds : toute l'impression d'épaisseur de ligne est purement due à la valeur définie pour la largeur du trait.
  
 **What happens when you try this mode with a more complex example? How about a few handwritten letters? **What happens when you try this mode with a more complex example? How about a few handwritten letters?
Ligne 98: Ligne 98:
 Que se passe-t-il lorsque vous essayez ce mode avec un exemple plus complexe ? Que diriez-vous de quelques lettres manuscrites ? Que se passe-t-il lorsque vous essayez ce mode avec un exemple plus complexe ? Que diriez-vous de quelques lettres manuscrites ?
  
-Comme vous pouvez le constater, le tracé ne reflète pas vraiment les formes et le style d'écriture de l'image numérisée originale. La jambe gauche du A, assez droite, est pliée au milieu, car l'algorithme a du mal à déterminer où se trouve réellement la ligne centrale. La ligne à angle aigu où les arrondis supérieur et inférieur du B se rejoignent est entièrement perdueet remplacée par une barre transversale horizontale.+Comme vous pouvez le constater, le tracé ne reflète pas vraiment les formes et le style d'écriture de l'image numérisée originale. La jambe gauche du A, assez droite, est pliée au milieu, car l'algorithme a du mal à déterminer où se trouve réellement la ligne centrale. La ligne à angle aigu où les arrondis supérieur et inférieur du B se rejoignent est entièrement perdue et remplacée par une barre transversale horizontale.
  
-Vous avez peut-être aussi réalisé que de telles formes ne peuvent pas être composées d'un seul segment de trajectoire. Dans ce cas, nous nous sommes retrouvés avec un seul chemin complexe composé de tous les différents segments qui composent les lettres combinés en un seul objet. Chemin > Séparer nous permet de réduire le chemin complexe à ses parties constituantes, auxquelles nous pouvons ensuite donner différentes couleurs pour démontrer les chemins sur lesquels l'algorithme s'est arrêté.+Vous avez peut-être aussi réalisé que de telles formes ne peuvent pas être composées d'un seul segment de trajectoire. Dans ce cas, nous nous sommes retrouvés avec un seul chemin complexe composé de tous les différents segments qui composent les lettres combinés en un seul objet. Chemin > Séparer nous permet de réduire le chemin complexe à ses parties constituantes, auxquelles nous pouvons ensuite donner différentes couleurs pour démontrer les chemins que l'algorithme a choisis.
  
 **The A, not unreasonably, is made up of three separate paths. But the complexity of the B is captured in only two paths: one complex curving line that encompasses most of the shape of the letter, and a small straight segment to fill in the remaining gap. Wrangling such shapes into something more befitting the original outlines could quickly become tedious on larger projects. **The A, not unreasonably, is made up of three separate paths. But the complexity of the B is captured in only two paths: one complex curving line that encompasses most of the shape of the letter, and a small straight segment to fill in the remaining gap. Wrangling such shapes into something more befitting the original outlines could quickly become tedious on larger projects.
Ligne 110: Ligne 110:
 Le A, comme il se doit, est composé de trois trajectoires distinctes. Mais la complexité du B n'est saisie que par deux tracés : une ligne courbe complexe qui englobe la majeure partie de la forme de la lettre, et un petit segment droit pour combler l'espace restant. La transformation de ces formes en quelque chose de plus conforme aux contours originaux pourrait rapidement devenir fastidieuse sur des projets plus importants. Le A, comme il se doit, est composé de trois trajectoires distinctes. Mais la complexité du B n'est saisie que par deux tracés : une ligne courbe complexe qui englobe la majeure partie de la forme de la lettre, et un petit segment droit pour combler l'espace restant. La transformation de ces formes en quelque chose de plus conforme aux contours originaux pourrait rapidement devenir fastidieuse sur des projets plus importants.
  
-Vous pouvez penser que je suis injuste avec l'algorithme. Le texte que j'ai numérisé provenait d'un marqueur épais, plutôt que des traits fins d'un crayon ou d'un stylo à bille. Mais d'après mes tests, vous serez probablement confronté à des problèmes similaires, même en partant de lignes plus fines dans le matériau source.+Vous pouvez penser que je suis injuste avec l'algorithme. Le texte que j'ai numérisé provenait d'un marqueur épais, plutôt que des traits fins d'un crayon ou d'un stylo à bille. Maisd'après mes tests, vous serez probablement confronté à des problèmes similaires, même en partant de lignes plus fines dans le matériel source.
  
 Cela ne veut pas dire que ce nouveau mode est inutile ou malvenu. Pour de nombreuses images, il s'avérera bien plus efficace que les méthodes de traçage existantes, surtout si vous vous intéressez uniquement aux formes principales des éléments plutôt qu'aux détails exacts des contours des traits. N'oubliez pas qu'il ne travaille qu'avec des pixels et qu'il n'a aucune notion de l'ordre dans lequel les lignes ont été tracées, ni de la différence entre deux lignes qui se rejoignent avec un angle par rapport à une seule ligne qui présente un angle aigu. Cela ne veut pas dire que ce nouveau mode est inutile ou malvenu. Pour de nombreuses images, il s'avérera bien plus efficace que les méthodes de traçage existantes, surtout si vous vous intéressez uniquement aux formes principales des éléments plutôt qu'aux détails exacts des contours des traits. N'oubliez pas qu'il ne travaille qu'avec des pixels et qu'il n'a aucune notion de l'ordre dans lequel les lignes ont été tracées, ni de la différence entre deux lignes qui se rejoignent avec un angle par rapport à une seule ligne qui présente un angle aigu.
issue171/inkscape.1628173117.txt.gz · Dernière modification : 2021/08/05 16:18 de andre_domenech