Seite 1 von 2
Baudot-Art erzeugen
Verfasst: Mo 14. Sep 2020, 19:36
von detlef
Da die Auswahl an Baudot-Art-Bildern ja sehr begrenzt zu sein schein (ASCII-Art findet man haufenweise), habe ich mir überlegt, wie man selber welche erzeugen könnte und habe ein kleines Testprogramm geschrieben. Prinzipiell klappt das ganz gut, wenn man geeignete Vorlagen hat. Die müssen schwarz/weiss und sehr kontrastreich sein. Optimal sind natürlich Schwarz/Weiss-Zeichnungen. Oft erhält man aber nur abstrakte Punktmuster.
Ich werde noch ein wenig optimieren und euch hier über den Fortschritt auf dem Laufenden halten.
Falls jemand Windows-Software kennt, die ASCII- oder Baudot-Art erzeugt, postet doch bitte einen Link.
AA_MickeyMouse.png
AA_Baum.png
Hier sieht man, dass das Ergebnis nicht immer den Erwartungen entspricht:
AA_Eiffelturm.png
Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 08:50
von 380170JFK
Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 09:21
von detlef
Danke Johannes.
Das Archiv kenne ich. Die RTTY-Bilder enthalten aber in der Regel Großbuchstaben. Für RTTY-Bilder sind amerikanischen Fernschreiber einfach besser geeignet.
Das verlinkte Programm ist ein Editor-Programm für RTTY-Bilder. Aber das unterstützt kein mehrfaches Überdrucken, also kann man eigentlich gleich einen normalen Texteditor nehmen. Man kann damit wohl auch Bilder über die serielle Schnittstelle verschicken.
Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 11:49
von BjoernS
Hallo Detlef,
hatte mich vor einer Weile mit dem Thema beschäftigt, es aber nicht weiter verfolgt. Kennst du folgendes Projekt? Dort wird etwas Aufwand getrieben: Zum Generieren der Bilder wird das "Histogram of oriented gradients" aus dem Quellbild erzeugt und auf der Basis werden dann zellenweise passende Einzelzeichen oder Overstrike-Kombinationen ausgewählt. Um es akkurat zu machen, druckt er zum Kalibrieren ein Testmuster auf dem FS aus, scannt es ein und liest es mithilfe seiner Software zurück.
https://github.com/hughpyle/ASR33/blob/ ... /README.md
Grüße
Björn
Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 16:34
von detlef
Das ist sehr interessant. Einige Ansätze sind ähnlich zu meiner Vorgehensweise. Ich habe aber die Helligkeit der FS-Zeichen einfach auf dem Rechner simuliert, statt sie zu drucken und wieder einzuscannen. Also keine Kalibrierung. Wegen der unterschiedlichen Schriftbilder der Fernschreiber, macht das eigentlich auch keinen Sinn.
Die Kontrastoptimierung über die Histogramm-Kurve hatte ich mit Optimierung gemeint. Ich habe aber noch nicht verstanden, was er da genau macht. Statt das jeweilige Zeichen exakt zu berechnen, habe ich mir einfach 16 Zeichenkombinationen (mit Mehrfachdruck) für 16 Graustufen ausgesucht. Nach meiner Einschätzung wird man mehr Graustufen nicht unterscheiden können.
Die Idee, eine Matrix aller Kombinationen von zwei übereinandergedruckter Zeichen zu erzeugen, ist gut. Das werde mal ausprobieren. Vielleicht ergeben sich daraus doch noch weitere Graustufen. Vielleicht versuche ich sogar mal, alle Kombination aus drei übereinander gedruckten Zeichen zu simulieren.
Leider sind due Vorlagen zu den Ergebnissen nicht dabei, so dass man nicht beurteilen kann, was das Programm aus den Vorlagen wirklich rausholt.
Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 16:48
von Franz
Klingt alles sehr gut, Respekt an die Entwickler...
wenn ich an 1977 in der FFZ denke....

da wurden bereits 3 Monate (!) vor Weihnachten künstlerisch begabte OPs ausgesucht, die den ganzen Tag nichts anderes gemacht haben, als große Weihnachtsmotive manuell in RTTY Art umzuwandeln. Da waren dann kurz vor Weihnachten absolute Kunstwerke auf Lochstreifen vorhanden, die z.T. 1,5 Meter Papierrolle verbrauchten und ewig lang liefen
Habe mich selbst (heutzutage) auch mal an so was probiert, mehr als simple Formen mit leichten Schattierungen ist dabei nicht herausgekommen

Re: Baudot-Art erzeugen
Verfasst: Di 15. Sep 2020, 17:36
von detlef
Künstlerisch tätig zu werden, ist auch nicht mein Ding. Da schreibe ich lieber ein Programm, das das macht.

Re: Baudot-Art erzeugen
Verfasst: Mi 16. Sep 2020, 08:17
von FredSonnenrein
Hallo zusammen,
detlef hat geschrieben: ↑Di 15. Sep 2020, 16:34
Die Kontrastoptimierung über die Histogramm-Kurve hatte ich mit Optimierung gemeint. Ich habe aber noch nicht verstanden, was er da genau macht. Statt das jeweilige Zeichen exakt zu berechnen, habe ich mir einfach 16 Zeichenkombinationen (mit Mehrfachdruck) für 16 Graustufen ausgesucht. Nach meiner Einschätzung wird man mehr Graustufen nicht unterscheiden können.
Ich weiß auch nicht, was genau gemacht wird, aber ich vemute folgendes:
Angenommen, dein Zeichensatz umfasst weniger als 16 Zeichen, und bei den ausgewählten Zeichen ist
o für 50% Schwärzung
m für 70% Schwärzung
ausgewählt, dazwischen gibt es keine weiteren "Zwischenwerte".
Dann würde mit einem einfachen Verfahren (Grauwerte der Pixel werden auf die vorhandenen Zeichen-Referenzwerte "gerundet") ein Graukeil von 50% bis 70% wie folgt "übersetzt":
50 55 60 65 70
ooooooooooooooooooooommmmmmmmmmmmmmmmmmmmm
Würde bei der Berechnung berücksichtigt werden, dass beispielsweise beim 55% Pixel der "Ausgabewert" nur 50% entspricht und damit "als Ausgleich" benachbarte Punkte etwas abgedunkelt werden, dann könnte folgendes herauskommen:
50 55 60 65 70
oooooooomoooomoomoomomommommommmmommmmmmmm
Wie der Algorithmus dann genau aussehen muss, müsst ihr entwickeln.
Grüße,
Fred
Re: Baudot-Art erzeugen
Verfasst: Mi 16. Sep 2020, 08:36
von detlef
Aha, "Dithering". Daran hatte ich noch gar nicht gedacht.
Re: Baudot-Art erzeugen
Verfasst: Mi 16. Sep 2020, 09:18
von BjoernS
Noch eine Anmerkung zum HOG: Die Ermittlung der orientierten Gradienten bedeutet, dass der Farbverlauf innerhalb eines "Pixels" (d.h. einer FS-Zeichenzelle) ermittelt wird. Daraufhin können Zeichen(kombinationen) ausgewählt werden, die dem Gradienten optisch bestmöglich entsprechen (z.B. für Linien oder Außenkanten). Damit bekommt man quasi eine Subpixelauflösung. Faszinierende Methode.
In der Menge der Zweifach-Overstrike-Kombinationen lassen sich wahrscheinlich auch genügend mittlere Helligkeiten finden, um kein Dithering betreiben zu müssen.