Ich möchte einige Strichzeichnungen auf A3 drucken, aber sie sind nicht sehr groß - etwa 600 x 800 Pixel.
Ich habe offensichtliche Funktionen in Gimp ausprobiert, z. B. die Größe ändern und dann mit einem Wavelet-Schärfer oder einer unscharfen Maske mit selektiver Gausian-Unschärfe verbessern, aber die Druckergebnisse sind nicht gut.
Sie sind auch nicht einfach für die Vektorisierung, aber vielleicht kann das Optimieren eines Tracing-Tools zu besseren Ergebnissen führen als das Ändern der Bitmap-Größe. Bevor ich diese Option erkunde, habe ich mir überlegt, um Rat zu fragen:
Kann jemand ein Rezept teilen, entweder mithilfe von Programmieralgorithmen (numpy / scipy oder matlab) oder mithilfe von in Gimp oder Photoshop verfügbaren Werkzeugen, um eine qualitativ hochwertige Größenänderung der Strichzeichnung zu erreichen?
quelle
Antworten:
Ich bin mir nicht sicher, ob dies in Ihrem Fall der beste Weg ist, aber ich hatte Erfolg mit der Kombination von Gauß- und Medianfiltern.
Hier ist ein Beispiel, das ich vollständig in Paint.NET erstellt habe. Original Bild:
Größe auf 400% ändern (nächster Nachbar):
Gaußsche Unschärfe (Radius: 6,0 px):
Medianfilter (Radius: 4 px, Perzentil: 50%):
Stufen zur Kontraststeigerung:
Kurven zum Abschneiden verschwommener Schatten (Schwellenwerte würden besser funktionieren, sind jedoch in Paint.NET standardmäßig nicht verfügbar):
Beachten Sie, dass die dünne Zeichnung ohne Aliasing verstärkt werden muss. Sie können dies erreichen, indem Sie Ebenen vor dem Medianfilter anwenden.
Die Parameter der von mir verwendeten Filter sind rein experimentell - das Spielen mit diesen kann zu besseren Ergebnissen führen. Vielleicht kann das Zoomen im Treppenhaus auch verbessert werden.
quelle
Schauen Sie sich Pixel-Art-Skalierungsalgorithmen an , insbesondere die hqx-Algorithmen . Sie sind normalerweise auf einen ganzzahligen Skalierungsfaktor (dh 2x, 3x, 4x) beschränkt, sodass sie nicht für allgemeine Zwecke geeignet sind, aber in Strichzeichnungen recht gut funktionieren sollten.
quelle
Dies ist mir ein Rätsel, aber wenn Sie es mit Bildern zu tun haben, die als binär behandelt werden können (entweder gehört ein Pixel zu einer Linie der Zeichnung oder nicht), können Sie versuchen, Ihre Bilder zu vergrößern (mit der folgenden Unschärfe) Schwellenwert zur Binärisierung des vergrößerten Bildes und anschließende morphologische Ausdünnung.
In MATLAB würden Sie sich die Funktionen imresize , im2bw und bwmorph ansehen .
Hoffe das hilft...
quelle
Haben Sie versucht, das Bild in eine ähnliche vektorisierte Version zu konvertieren? Ich weiß, dass Flash und Inkscape diese haben:
http://inkscape.org/doc/tracing/tutorial-tracing.html
https://www.google.com/search?q=flash+image+to+vector
quelle