1. Home
  2. Tutorial
  3. Bitmap-Verfolgung in Ruby

Bitmap-Verfolgung in Ruby

Absicht

Die Bitmap-Abtastung dient der Umwandlung von Bitmap-Daten in Vektordaten durch Erkennung von Kanten. Diese Erkennung erfolgt durch den Vergleich von Grauwerten. Um Kanten zu erkennen, müssen sich die Farbwerte ausreichend unterscheiden, sonst schlägt das Tracing fehl.

Verfolgen des Bitmap-Bildes

Sie starten die Verfolgung, indem Sie das Bild auswählen und auf das Verfolgungssymbol klicken.


Daraufhin wird das folgende Widget geöffnet.

Stellen Sie die Parameter ein und klicken Sie auf „Trace“, um den Tracing-Prozess zu starten.
Je nach Quellbild und den gewählten Werten erhalten Sie ein Trace-Ergebnis.

Hinweis: Wenn die Einstellungen zu einem leeren Trace führen, wird eine Fehlermeldung angezeigt und es werden keine Vektoren erstellt!

Parameter

Nur äußere Kontur

Beschränken Sie die Erkennung von Kanten auf die äußerste Kontur. Auf diese Weise wird der Verfolgungsalgorithmus nicht nach zusätzlichen Konturen innerhalb einer erkannten Kontur suchen. Diese Funktion wird verwendet, wenn Außenkonturen geschnitten werden sollen.

Abtasten nur mit Außenkontur (unten) vs. aus (oben)

Ignorierte Clustergröße

Dieser Parameter wird verwendet, um das Rauschen zu minimieren. Wenn Sie diesen Wert erhöhen, wird Rubyangewiesen, größere Gruppen von Pixeln mit ähnlicher Farbe zu ignorieren.


Verfolgung mit einer Clustergröße von 1 (oben), 10 (Mitte) und 30 (unten).
Durch Erhöhen des Wertes werden die größeren weißen Punkte herausgefiltert, bis nur noch die Kontur (schwarzes Rechteck) erkannt wird.

Schwarz-Weiß-Schwelle

Dieser Parameter hat die größte Auswirkung auf die Nachverfolgung, da er den Grad des Kontrasts definiert, der für die Erkennung der Kanten verwendet wird.
Die Zahl steht für den Grauwert (Index 0-255), der als Schwellenwert für das Hinzufügen oder Nichthinzufügen eines Pixels zum Vektor verwendet wird. Das bedeutet, dass jeder Wert darunter als schwarz, jeder Wert darüber als weiß behandelt wird. Die sich daraus ergebenden schwarzen und weißen Bereiche definieren die Kanten, die erkannt werden (dies geschieht im für den Benutzer nicht sichtbaren Hintergrund).


Ergebnisse in Abhängigkeit von der gewählten Schwelle. Zu Beginn werden nur die wirklich dunklen Bereiche erkannt, am Ende wird nur der weiße Hintergrund ausgeschlossen.

Niveau glätten

Da Bilder aus Pixeln bestehen, bilden diese bei ausreichender Vergrößerung eine „Treppe“.

Die Verfolgung des Bildes würde dann einen Vektor erzeugen, der diesen „Treppen“ folgt. In den meisten Fällen ist dies unbeabsichtigt.
Mit „Glättungsgrad“ können Sie festlegen, wie genau der Algorithmus der Kontur folgen soll. Eine höhere Glättung führt zu weniger kantigen Vektoren. Andererseits können durch zu starkes Glätten Details verloren gehen.


Die Verfolgung eines „o“ ohne Glättung (links) im Vergleich zu einer hohen Glättung (rechts) zeigt deutlich die Auswirkungen auf die Kreise.


Wenn Sie zu sehr glätten, gehen Details verloren.

So holen Sie das Beste aus sich heraus

Hochwertige Quellbilder

Bitmaps in Rubywerden immer in Graustufenbilder umgewandelt. Verwenden Sie Bitmaps mit hoher Qualität, da sie die besten Ergebnisse liefern. Bilder, bei denen der zu zeichnende Abschnitt und der Hintergrund die gleiche Farbe haben, sind ebenfalls schwer zu zeichnen. Es kann keine klare Kante erzeugt werden.

  • Gut – hohe Qualität, gute Auflösung, hoher Kontrast, wenig Anti-Aliasing an Kanten, keine Mischfarben
  • Schlecht – niedrige Auflösung, schlechter Kontrast, starkes Anti-Aliasing
  • Schlecht – Farben des Messers und des Hintergrunds sind vermischt, die Erstellung einer Kante ist nicht möglich

Verbessern Sie das Bild vor der Verfolgung

Entfernen Sie so viel Rauschen wie möglich aus dem Bild, indem Sie den Kontrast und die Farbschwelle einstellen. Alles, was nicht in der Bitmap enthalten ist, kann nicht fehlerhaft erkannt werden. Es gibt einige Tipps, die Sie innerhalb und außerhalb von Rubybeachten sollten:

Anpassungen vor dem Importieren in Ruby

Zuschneiden auf den gewünschten Bildausschnitt

Schneiden Sie alle Teile weg, die Sie nicht für die Kontur benötigen. Auch das Drehen des Bildes kann helfen, nur den gewünschten Teil zu beschneiden.

Vorher:

Danach:

Andere Inhalte entfernen

Öffnen Sie das Bild mit einem Bildbearbeitungsprogramm und entfernen Sie so viel Hintergrund oder unerwünschte Teile wie möglich (Radiergummi, Farbe ersetzen, usw.).

Anpassungen innerhalb von Ruby ®

Farbschwellenwert einstellen (Tonkurve)

Passen Sie die Farbschwellenwerte an, um die Kantenqualität zu verbessern. Wählen Sie dazu das Bild aus und klicken Sie auf den Bleistift in der oberen rechten Ecke.

Versuchen Sie nun, das Bild so einzustellen, dass der Hintergrund so hell wie möglich und die Kontur so schwarz wie möglich wird.
Auch der umgekehrte Weg ist möglich, jedoch wird die umgekehrte Kontur erkannt!

Um dies einfach zu ändern, kann das Bild invertiert werden. Das sieht vielleicht ungewohnt aus, ändert aber nichts an der Kontur für den Verfolgungsalgorithmus und ermöglicht es, die richtige zu verfolgen.

Im Grunde genommen funktioniert es so:

  • X-Achse definiert die Eingabefarbe (= welche Grauwerte des Originals verändert werden sollen)
    • Das Verschieben eines Punktes nach links schließt mehr Farben in Richtung Schwarz ein
  • Y-Achse definiert die Ausgabefarbe (= in welche Farbe die Eingabefarbe geändert werden soll)
    • Wird der Punkt nach oben verschoben, entsteht eine hellere Farbe (in Richtung Weiß).
  • Greifen Sie die Linie an einem beliebigen Punkt und verschieben Sie sie nach Bedarf
    • Alle Farben zwischen den Punkten werden entsprechend geändert

Ausführlichere Erläuterungen finden Sie im Internet, wenn Sie nach „tone curve input output“ suchen.

Die folgenden Beispiele verdeutlichen die Unterschiede:


Weißer Hintergrund, schwarze Kontur lässt sich leicht nachzeichnen und ergibt die gewünschte Kontur.


Ein schwarzer Hintergrund und eine weiße Kontur sind schwieriger nachzuzeichnen und ergeben die umgekehrte Kontur.

Zusammenfassung

  • Verwenden Sie Bilder mit guter Qualität.
  • Bitmaps mit schlechter Qualität (z. B. geringe Auflösung, viele Artefakte, geringer Kontrast, gemeinsame Farben von Kontur und Hintergrund usw.) können normalerweise keine guten Spuren erzeugen.
  • Bereiten Sie das Quellbild so gut wie möglich für die Verfolgung vor.
    Entfernen Sie Rauschen und überflüssige Teile, passen Sie Kontrast und Farbschwellen an – was nicht da ist, kann auch nicht falsch erkannt werden.
  • Wissen, was erreicht werden soll.
    Optimieren Sie die richtigen Parameter auf die richtige Weise. Allein das Ausprobieren wird viel Zeit in Anspruch nehmen und oft frustrierend sein.
  • Bitmap-Tracing kann nicht zaubern
    Wenn die Kontur nicht klar definiert ist (z. B. durch Schatten, helle Teile, die in den Hintergrund übergehen usw.), kann sie nicht nachgezeichnet werden!
Updated on 9. September 2022

Related Articles