Zum Inhalt springen

Morsecode aus einem Bild lesen

Eine Reihe Punkte und Striche im Bild ist dasselbe Signal wie ein Ton - nur über den Ort statt über die Zeit aufgetragen.

Die Erkennung sucht die Zeile mit dem stärksten Wechselmuster und liest sie wie ein Signal. Liegt der Code schräg, in mehreren Zeilen oder im Kreis, findet sie die falsche - dann helfen die Regler darunter.

oder eins hier einfügen (Strg+V)

 

Das Bild verlässt dein Gerät nicht. Es wird im Browser gezeichnet und dort gelesen; hochgeladen wird nichts. Bei einem Tattoofoto ist das keine Formsache, sondern der Grund, warum man es überhaupt hier hineinzieht.

Wie es funktioniert

Das Bild wird in eine Helligkeitskurve über die Breite verwandelt, und ab da übernimmt dieselbe Kette, die auch Ton und Licht entschlüsselt: Schwelle nach Otsu, Abschnitte, Entstörung, Einheitenschätzung, Umsetzung in Morsecode.

Das ist kein Kunstgriff, sondern die Sache selbst: Morsecode ist eine Folge langer und kurzer Zustände mit Pausen dazwischen. Ob diese Folge durch die Zeit läuft oder über ein Armband, ändert an der Rechnung nichts.

Was es nicht kann

Ehrlich gesagt einiges:

  • Es sucht eine Zeile, nämlich die mit dem stärksten Wechselmuster. Liegt der Code schräg, verteilt über mehrere Zeilen oder im Kreis, ist das die falsche. Der Zeilenregler hilft, ein gedrehtes Bild aber nur begrenzt.
  • Es kennt keine Handschrift. Gezeichnete Punkte und Striche mit ungleichen Abständen sind für die Einheitenschätzung schwer; die Zuversicht fällt dann sichtbar.
  • Es weiss nicht, ob es richtig liegt. Die Zuversicht misst, wie gleichmässig die Längen sind - mehr nicht.

Die drei Regler

  • Zeile - welches waagerechte Band ausgewertet wird. Es ist im Bild eingezeichnet, damit man nicht raten muss, was gemessen wurde.
  • Schwelle - ab welcher Helligkeit ein Bildpunkt als Zeichen gilt. Die Automatik setzt sie nach Otsu; bei ungleicher Ausleuchtung ist von Hand oft besser.
  • Helle Zeichen auf dunklem Grund - die Polarität. Automatisch entschieden wird sie am Rand des Bildes, weil dort Hintergrund liegt. Beginnt das Bild direkt am ersten Punkt, muss man es selbst sagen.

Nichts wird hochgeladen

Das Bild wird im Browser in ein Canvas gezeichnet und dort gelesen. Es geht an keinen Server, und es wird nirgends gespeichert.

Das ist kein Nebensatz: Wer ein Foto seiner eigenen Haut hochlädt, sollte wissen, wohin es geht. Hier nirgendwohin.

Häufige Fragen

  • Welches Bild funktioniert am besten?

    Eine waagerechte Reihe mit klarem Kontrast, ohne Schatten quer darüber und mit etwas Rand links und rechts. Ein Screenshot eines Morsecode-Generators ist der einfachste Fall, ein Foto bei Seitenlicht der schwerste.

  • Warum kommt Unsinn heraus?

    Meistens, weil die falsche Zeile ausgewertet wird - versuch den Zeilenregler. Danach die Schwelle. Wenn die Zuversicht unter etwa siebzig Prozent liegt, stimmt an der Segmentierung etwas nicht, und das Ergebnis ist geraten.

  • Kann ich auch einen Kreis oder eine Spirale lesen?

    Nein. Die Auswertung geht eine gerade waagerechte Linie entlang. Ein kreisförmig gesetzter Code müsste erst abgewickelt werden, und das kann dieses Werkzeug nicht.