Wenn ein Bild mehr als 1000 Worte sagt, wie viel von einem Bild kann man dann in 140 Zeichen unterbringen?
Nota : Das war's, Leute! Der Abgabetermin für das Kopfgeld ist da, und nach reiflicher Überlegung habe ich beschlossen, dass Boojum's Eintrag nur knapp verdrängt Sam Hocevar's . Ich werde ausführlichere Notizen veröffentlichen, sobald ich die Gelegenheit hatte, sie zu schreiben. Natürlich kann jeder auch weiterhin Lösungen einreichen und Lösungen verbessern, über die dann abgestimmt werden kann. Vielen Dank an alle, die einen Beitrag eingereicht haben; sie haben mir alle gefallen. Es hat mir sehr viel Spaß gemacht, diesen Wettbewerb zu leiten, und ich hoffe, dass er sowohl den Teilnehmern als auch den Zuschauern Spaß gemacht hat.
Ich stieß auf dieser interessante Beitrag über den Versuch, Bilder in einem Twitter-Kommentar zu komprimieren, und viele Leute in diesem Thread (und ein Thread auf Reddit ) hatte Vorschläge für verschiedene Möglichkeiten, wie man es machen könnte. Ich denke, das wäre eine gute Herausforderung für die Programmierung. Die Leute sollen zeigen, was sie drauf haben, und wie ihre Ideen zur Kodierung zu mehr Details auf dem begrenzten Platz führen können, der zur Verfügung steht.
Ich fordere Sie auf, ein allgemeines System zur Kodierung von Bildern in 140-Zeichen-Twitter-Nachrichten und deren Dekodierung in ein Bild zu entwickeln. Sie können Unicode-Zeichen verwenden, so dass Sie mehr als 8 Bit pro Zeichen erhalten. Aber selbst wenn Sie Unicode-Zeichen verwenden, müssen Sie die Bilder auf sehr kleinem Raum komprimieren. Dies wird sicherlich eine verlustbehaftete Komprimierung sein, so dass subjektiv beurteilt werden muss, wie gut jedes Ergebnis aussieht.
Hier ist das Ergebnis, dass der ursprüngliche Autor, Quasimondo aus seiner Kodierung (das Bild ist lizenziert unter einer Creative Commons Namensnennung-Nichtkommerzielle Lizenz ):
Können Sie es besser?
Regeln
-
Ihr Programm muss zwei Modi haben: Kodierung y Dekodierung .
-
Wenn Kodierung :
- Ihr Programm muss als Eingabe eine Grafik in einer beliebigen Raster Grafikformat Ihrer Wahl. Wir sagen, dass jedes Rasterformat, das von ImageMagick gilt als angemessen.
- Ihr Programm muss eine Nachricht ausgeben, die in 140 oder weniger Unicode-Codepunkten dargestellt werden kann; 140 Codepunkte im Bereich
U+0000
-U+10FFFF
ohne Nicht-Zeichen (U+FFFE
,U+FFFF
,U+
nFFFE
,U+
nFFFF
wobei n es1
-10
hexadezimal, und der BereichU+FDD0
-U+FDEF
) und Surrogat-Codepunkte (U+D800
-U+DFFF
). Sie kann in jeder vernünftigen Kodierung Ihrer Wahl ausgegeben werden; jede Kodierung, die von GNUiconv
wird als angemessen betrachtet, und die plattformeigene Kodierung oder die Kodierung des Gebietsschemas ist wahrscheinlich eine gute Wahl. Siehe Unicode-Hinweise unten für weitere Einzelheiten.
-
Wenn Dekodierung :
- Ihr Programm sollte als Eingabe die Ausgabe Ihrer Kodierung Modus.
- Ihr Programm muss ein Bild in jedem vernünftigen Format Ihrer Wahl ausgeben, wie oben definiert, obwohl für die Ausgabe auch Vektorformate in Ordnung sind.
- Die Bildausgabe sollte eine Annäherung an das Eingabebild sein; je näher man dem Eingabebild kommen kann, desto besser.
- Der Dekodierungsprozess darf keinen Zugriff auf eine andere Ausgabe des Kodierungsprozesses haben als die oben angegebene, d. h. Sie können das Bild nicht irgendwo hochladen und die URL ausgeben, damit der Dekodierungsprozess es herunterladen kann, oder etwas Ähnliches.
-
Um die Konsistenz der Benutzeroberfläche zu gewährleisten, muss sich Ihr Programm wie folgt verhalten:
- Ihr Programm muss ein Skript sein, das auf einer Plattform mit dem entsprechenden Interpreter ausgeführt werden kann, oder ein Programm, das zu einer ausführbaren Datei kompiliert werden kann.
- Ihr Programm muss als erstes Argument entweder
encode
odecode
um den Modus einzustellen. -
Ihr Programm muss Eingaben auf eine oder mehrere der folgenden Arten entgegennehmen (wenn Sie diejenige implementieren, die Dateinamen entgegennimmt, können Sie auch von stdin und stdout lesen und schreiben, wenn keine Dateinamen vorhanden sind):
-
Nimmt die Eingabe von Standard-In und gibt die Ausgabe auf Standard-Out aus.
my-program encode <input.png >output.txt my-program decode <output.txt >output.png
-
Nimmt die Eingabe aus einer Datei, die im zweiten Argument genannt wird, und erzeugt die Ausgabe in der Datei, die im dritten Argument genannt wird.
my-program encode input.png output.txt my-program decode output.txt output.png
-
-
Für Ihre Lösung, bitte posten:
- Ihren vollständigen Code und/oder einen Link dazu, der an anderer Stelle gehostet wird (wenn er sehr lang ist oder viele Dateien zum Kompilieren benötigt oder ähnliches).
- Eine Erklärung, wie es funktioniert, wenn es nicht sofort aus dem Code ersichtlich ist oder wenn der Code lang ist und die Leute an einer Zusammenfassung interessiert sind.
- Ein Beispielbild mit dem Originalbild, dem Text, auf den es komprimiert wurde, und dem dekodierten Bild.
- Wenn Sie auf einer Idee aufbauen, die jemand anderes hatte, nennen Sie diese bitte. Es ist in Ordnung, wenn Sie versuchen, die Idee eines anderen zu verfeinern, aber Sie muss sie zuordnen.
Leitlinien
Dabei handelt es sich im Wesentlichen um Regeln, die gebrochen werden dürfen, Vorschläge oder Bewertungskriterien:
- Ästhetik ist wichtig. Ich beurteile und schlage vor, dass andere Leute auf der Grundlage dieser Kriterien urteilen:
- Wie gut das ausgegebene Bild aussieht und wie sehr es dem Original ähnelt.
- Wie schön der Text aussieht. Völlig willkürliches Kauderwelsch ist in Ordnung, wenn Sie ein wirklich cleveres Komprimierungsschema haben, aber ich möchte auch Antworten sehen, die Bilder in mehrsprachige Gedichte verwandeln, oder etwas ähnlich Cleveres. Beachten Sie, dass der Autor der Originallösung beschlossen hat, nur chinesische Schriftzeichen zu verwenden, weil es so besser aussieht.
- Interessanter Code und clevere Algorithmen sind immer gut. Ich mag kurzen, prägnanten und klaren Code, aber wirklich clevere, komplizierte Algorithmen sind auch in Ordnung, solange sie gute Ergebnisse liefern.
- Die Geschwindigkeit ist ebenfalls wichtig, wenn auch nicht so wichtig wie die Qualität der Komprimierung des Bildes. Ich habe lieber ein Programm, das ein Bild in einer Zehntelsekunde konvertieren kann, als eines, das tagelang genetische Algorithmen ausführt.
- Ich ziehe kürzere Lösungen längeren vor, solange sie qualitativ einigermaßen vergleichbar sind; Kürze ist eine Tugend.
- Ihr Programm sollte in einer Sprache implementiert sein, für die es eine frei verfügbare Implementierung unter Mac OS X, Linux oder Windows gibt. Ich würde die Programme gerne ausführen können, aber wenn Sie eine großartige Lösung haben, die nur unter MATLAB oder so etwas, das ist in Ordnung.
- Ihr Programm sollte so allgemein wie möglich sein; es sollte für so viele verschiedene Bilder wie möglich funktionieren, obwohl einige vielleicht bessere Ergebnisse liefern als andere. Im Besonderen:
- Ein paar Bilder in das Programm einzubauen, die es abgleicht und einen Verweis darauf schreibt, und dann das passende Bild bei der Dekodierung zu erzeugen, ist ziemlich lahm und wird nur wenige Bilder abdecken.
- Ein Programm, das Bilder einfacher, flacher, geometrischer Formen in ein Vektorprimitiv zerlegen kann, ist ziemlich raffiniert, aber wenn es bei Bildern jenseits einer bestimmten Komplexität versagt, ist es wahrscheinlich nicht allgemein genug.
- Ein Programm, das nur Bilder eines bestimmten festen Seitenverhältnisses aufnehmen kann, aber gute Arbeit damit leistet, wäre auch OK, aber nicht ideal.
- Sie werden feststellen, dass ein Schwarz-Weiß-Bild mehr Informationen auf kleinerem Raum darstellen kann als ein Farbbild. Andererseits kann das die Art der Bilder einschränken, für die es geeignet ist. Gesichter kommen in Schwarzweiß gut zur Geltung, aber abstrakte Designs sind vielleicht nicht so gut.
- Es ist völlig in Ordnung, wenn das Ausgabebild kleiner ist als das Eingabebild, aber ungefähr die gleichen Proportionen aufweist. Es ist in Ordnung, wenn Sie das Bild vergrößern müssen, um es mit dem Original zu vergleichen; wichtig ist, wie es aussieht.
- Ihr Programm sollte eine Ausgabe produzieren, die tatsächlich durch Twitter gehen und unbeschadet wieder herauskommen könnte. Dies ist nur eine Richtlinie und keine Regel, da ich keine Dokumentation über die genaue Menge der unterstützten Zeichen finden konnte, aber Sie sollten wahrscheinlich Steuerzeichen, seltsame unsichtbare Kombinationszeichen, Zeichen für den privaten Gebrauch und Ähnliches vermeiden.
Bewertungsrubrik
Als allgemeiner Leitfaden für die Einstufung von Lösungen bei der Auswahl der von mir akzeptierten Lösung kann man sagen, dass ich die Lösungen wahrscheinlich auf einer 25-Punkte-Skala bewerten werde (dies ist sehr grob und ich werde nichts direkt bewerten, sondern dies nur als grundlegende Richtlinie verwenden):
- 15 Punkte dafür, wie gut das Kodierungsschema eine breite Palette von Eingangsbildern wiedergibt. Dies ist ein subjektives, ästhetisches Urteil
- 0 bedeutet, dass es überhaupt nicht funktioniert, sondern jedes Mal dasselbe Bild zurückgegeben wird, oder so ähnlich
- 5 bedeutet, dass es ein paar Bilder kodieren kann, obwohl die dekodierte Version hässlich aussieht und bei komplizierteren Bildern möglicherweise gar nicht funktioniert
- 10 bedeutet, dass es bei einer Vielzahl von Bildern funktioniert und angenehm aussehende Bilder erzeugt, die gelegentlich unterscheidbar sein können
- 15 bedeutet, dass es perfekte Repliken einiger Bilder erzeugt und selbst bei größeren und komplexeren Bildern etwas Erkennbares liefert. Oder sie erzeugt vielleicht keine Bilder, die gut erkennbar sind, aber sie erzeugt schöne Bilder, die eindeutig vom Original abgeleitet sind.
- 3 Punkte für die geschickte Verwendung des Unicode-Zeichensatzes
- 0 Punkte für die einfache Verwendung aller zulässigen Zeichen
- 1 Punkt für die Verwendung einer begrenzten Anzahl von Zeichen, die sicher über Twitter oder in einer größeren Anzahl von Situationen übertragen werden können
- 2 Punkte für die Verwendung einer thematischen Untergruppe von Zeichen, z. B. nur Han-Ideogramme oder nur Zeichen von rechts nach links
- 3 Punkte für etwas wirklich Tolles, wie das Erstellen von lesbarem Text oder die Verwendung von Zeichen, die wie das betreffende Bild aussehen
- 3 Punkte für clevere algorithmische Ansätze und Code-Stil
- 0 Punkte für etwas, das 1000 Zeilen Code umfasst, nur um das Bild zu verkleinern, es als 1 Bit pro Pixel zu behandeln und es mit base64 zu kodieren
- 1 Punkt für etwas, das eine Standardkodierungstechnik verwendet und gut und kurz geschrieben ist
- 2 Punkte für etwas, das eine relativ neue Kodierungstechnik einführt oder das überraschend kurz und sauber ist
- 3 Punkte für einen One-Liner, der tatsächlich gute Ergebnisse liefert, oder etwas, das bei der Grafikkodierung Neuland betritt (falls dies als geringe Punktzahl für Neuland erscheint, bedenke, dass ein so gutes Ergebnis wahrscheinlich auch eine hohe Punktzahl für die Ästhetik hat)
- 2 Punkte für Geschwindigkeit. Alles andere ist gleich, schneller ist besser, aber die oben genannten Kriterien sind alle wichtiger als Geschwindigkeit
- 1 Punkt für die Ausführung auf freier (quelloffener) Software, da ich freie Software bevorzuge (beachten Sie, dass C# weiterhin für diesen Punkt in Frage kommt, solange es auf Mono läuft, ebenso wie MATLAB-Code in Frage kommt, wenn er auf GNU Octave läuft)
- 1 Punkt für die tatsächliche Einhaltung aller Regeln. Die Regeln sind etwas umfangreich und kompliziert geworden, daher werde ich wahrscheinlich auch ansonsten gute Antworten akzeptieren, bei denen ein kleines Detail falsch ist, aber ich gebe einen Extrapunkt für jede Lösung, die tatsächlich alle Regeln befolgt
Referenzbilder
Einige Leute haben um einige Referenzbilder gebeten. Hier sind ein paar Referenzbilder, die Sie ausprobieren können. Kleinere Versionen sind hier eingebettet, sie sind alle mit größeren Versionen des Bildes verlinkt, falls Sie diese benötigen:
Preis
Ich biete eine 500 Wiederholungsprämien (plus die 50, die StackOverflow beisteuert) für die Lösung, die mir auf der Grundlage der oben genannten Kriterien am besten gefällt. Natürlich ermutige ich alle anderen, hier ebenfalls für ihre Lieblingslösungen zu stimmen.
Hinweis zur Frist
Der Wettbewerb läuft, bis das Kopfgeld aufgebraucht ist, etwa am Samstag, den 30. Mai um 18 Uhr. Ich kann nicht genau sagen, wann es enden wird; es kann zwischen 17 und 19 Uhr sein. Ich garantiere, dass ich mir alle bis 14 Uhr eingereichten Beiträge ansehe, und ich werde mein Bestes tun, um mir alle bis 16 Uhr eingereichten Beiträge anzusehen; wenn Lösungen danach eingereicht werden, habe ich möglicherweise keine Chance, sie angemessen zu prüfen, bevor ich meine Entscheidung treffen muss. Je früher Sie Ihren Beitrag einreichen, desto größer ist die Chance, dass Sie an der Abstimmung teilnehmen und mir helfen, die beste Lösung zu finden.
Unicode-Hinweise
Es hat auch einige Verwirrung darüber gegeben, welche Unicode-Zeichen genau erlaubt sind. Der Bereich der möglichen Unicode-Codepunkte ist U+0000
a U+10FFFF
. Es gibt einige Codepunkte, die niemals als Unicode-Zeichen in einem offenen Datenaustausch verwendet werden dürfen; dies sind die Nicht-Zeichen und die Surrogat-Codepunkte . Nicht-Zeichen werden im Abschnitt Unidode Standard 5.1.0 Abschnitt 16.7 als die Werte U+FFFE
, U+FFFF
, U+
n FFFE
, U+
n FFFF
wobei n es 1
- 10
hexadezimal, und der Bereich U+FDD0
- U+FDEF
. Diese Werte sind für die anwendungsspezifische interne Verwendung vorgesehen, und konforme Anwendungen können diese Zeichen aus dem von ihnen verarbeiteten Text entfernen. Surrogat-Codepunkte, definiert in der Datei Unicode Standard 5.1.0 Abschnitt 3.8 als U+D800
- U+DFFF
werden für die Kodierung von Zeichen jenseits der Basic Multilingual Plane in UTF-16 verwendet; daher ist es unmöglich, diese Codepunkte direkt in der UTF-16-Kodierung darzustellen, und es ist ungültig, sie in irgendeiner anderen Kodierung zu kodieren. Daher lasse ich für diesen Wettbewerb jedes Programm zu, das Bilder in eine Sequenz von nicht mehr als 140 Unicode-Codepunkten aus dem Bereich U+0000
- U+10FFFF
mit Ausnahme aller Nicht-Zeichen und Surrogatpaare, wie oben definiert.
Ich werde lieber Lösungen, die nur zugewiesene Zeichen verwenden, und noch bessere Lösungen, die clevere Untermengen zugewiesener Zeichen verwenden oder etwas Interessantes mit dem verwendeten Zeichensatz anstellen. Eine Liste der zugewiesenen Zeichen finden Sie in der Unicode-Zeichen-Datenbank Beachten Sie, dass einige Zeichen direkt aufgeführt sind, während andere nur als Anfang und Ende eines Bereichs aufgeführt sind. Beachten Sie auch, dass Ersatzcodepunkte in der Datenbank aufgeführt sind, aber wie oben erwähnt verboten sind. Wenn Sie bestimmte Eigenschaften von Zeichen nutzen möchten, um den von Ihnen ausgegebenen Text interessanter zu gestalten, gibt es eine eine Vielzahl von Datenbanken mit Zeicheninformationen verfügbar, wie zum Beispiel ein Liste der benannten Codeblöcke y verschiedene Zeicheneigenschaften .
Da Twitter den genauen Zeichensatz, den es unterstützt, nicht angibt, werde ich nachsichtig mit Lösungen sein, die mit Twitter nicht funktionieren, weil bestimmte Zeichen extra zählen oder bestimmte Zeichen entfernt werden. Es ist wünschenswert, aber nicht erforderlich, dass alle kodierten Ausgaben unversehrt über Twitter oder einen anderen Microblogging-Dienst wie identi.ca . Ich habe einige Dokumentationen gesehen, die besagen, dass Twitter <, > und & verschlüsselt und somit als 4, 4 bzw. 5 Zeichen zählt, aber ich habe das nicht selbst getestet, und ihr JavaScript-Zähler scheint sie nicht auf diese Weise zu zählen.
Tipps und Links
- Die Definition der gültigen Unicode-Zeichen in den Regeln ist ein wenig kompliziert. Die Auswahl eines einzelnen Zeichenblocks, wie z. B. CJK Unified Ideographs (U+4E00-U+9FCF), ist möglicherweise einfacher.
- Sie können vorhandene Bildbibliotheken verwenden, wie ImageMagick o Python Bildgebungsbibliothek für Ihre Bildmanipulation.
- Wenn Sie Hilfe benötigen, um den Unicode-Zeichensatz und seine verschiedenen Kodierungen zu verstehen, lesen Sie diese Kurzanleitung o diese ausführliche FAQ zu UTF-8 unter Linux und Unix .
- Je früher Sie Ihre Lösung einreichen, desto mehr Zeit haben ich (und andere Abstimmende), sie zu prüfen. Sie können Ihre Lösung bearbeiten, wenn Sie sie verbessern wollen. Ich werde meine Prämie auf der Grundlage der aktuellsten Version berechnen, wenn ich die Lösungen zum letzten Mal durchsehe.
- Wenn Sie ein einfach zu parsendes und zu schreibendes Bildformat wünschen (und nicht einfach ein bestehendes Format verwenden wollen), würde ich vorschlagen, dass Sie die PPM-Format . Es handelt sich um ein textbasiertes Format, das sehr einfach zu handhaben ist, und Sie können ImageMagick für die Konvertierung in und aus ihm.
0 Stimmen
Fühlt euch frei, Vorschläge zu den Regeln zu machen, die ich in den Kommentaren aufgeschrieben habe. Ich bin gerne bereit, sie zu ändern, wenn jemand meint, dass sie einer Klärung bedürfen oder zu sehr spezifiziert sind.
6 Stimmen
Sie sollten vielleicht sagen, dass das Hochladen des Bildes auf einen Server und das Posten der URL dazu nicht gültig ist.
2 Stimmen
@Shay Habe ich das nicht schon gesagt? "Der Dekodierungsprozess darf keinen Zugriff auf eine andere Ausgabe des Kodierungsprozesses haben als die oben angegebene; das heißt, Sie können das Bild nicht irgendwo hochladen und die URL ausgeben, damit der Dekodierungsprozess es herunterladen kann, oder irgendetwas Dummes in dieser Art."
0 Stimmen
@Brian Ich denke, es wäre eine gute Idee, ein oder mehrere Referenzbilder zur Verfügung zu stellen, an denen sich alle Beiträge messen lassen können.
0 Stimmen
Nette Herausforderung - aber ich widerspreche Ihrem Gebrauch des Wortes "dumm". In der Tat ist diese Lösung (Verwendung eines URI/DOI oder ähnliches) eine extrem gut Idee, um diese Art von Problemen zu lösen, weil es (sehr einfache) semantisch Informationen zur Kodierung des Bildes. Dies ist ganz im Sinne des Semantic Web-Projekts. Es ist natürlich fair, solche Lösungen auszuschließen, weil sie einfach nicht zu schlagen sind - aber dennoch sind sie alles andere als albern, und sie sind definitiv eine Art von Kompressionsalgorithmus (unter Verwendung eines sehr großen Wörterbuchs).
1 Stimmen
@Konrad Rudolph Ich stimme zu; ich meinte nicht "dumm" aus praktischer Sicht (natürlich ist dieser ganze Wettbewerb aus praktischer Sicht dumm), ich meinte "dumm" im Zusammenhang mit diesem Wettbewerb. Die Verwendung eines URI ist kein wirklicher Komprimierungsalgorithmus im Sinne der Informationstheorie, da es nicht möglich ist, mehr Informationen zu übertragen, ohne einfach einen anderen Kanal zu verwenden. Man könnte dem Kodierer und Dekodierer eine große Bilddatenbank zur Verfügung stellen und von einer Kompression sprechen, die nur bei einer begrenzten Anzahl von Bildern funktioniert, aber ich habe festgelegt, dass man in der Lage sein muss, ein beliebiges Bild zu verarbeiten.
2 Stimmen
Hier sind einige Links, auf die ich gestoßen bin und die den Leuten helfen könnten: azillionmonkeys.com/qed/unicode.html für eine Erklärung des gültigen Bereichs von Unicode-Zeichen. Beachten Sie, dass die UTF-Kodierungen den gesamten Unicode-Bereich kodieren können; UCS-4 ist eine Obermenge von Unicode, und UCS-2 und ASCII sind Untermengen. Und was die Komprimierung angeht, so gibt es hier eine ähnliche Technik wie im Originalbeitrag, nur dass er sich 1k statt 350 Bytes erlaubt: screamingduck.com/Artikel.php?ArticleID=46&Show=ABCE
0 Stimmen
Steht irgendwo geschrieben, ob das resultierende Bild die gleiche Größe wie das Original haben soll?
0 Stimmen
@friol Aus den Leitlinien: "Es ist völlig in Ordnung, wenn das Ausgangsbild kleiner ist als das Eingangsbild, aber ungefähr die gleichen Proportionen hat. Es ist in Ordnung, wenn Sie das Bild hochskalieren müssen, um es mit dem Original zu vergleichen; wichtig ist, wie es aussieht." Sie sollten das ursprüngliche Seitenverhältnis beibehalten (annähernd ist in Ordnung), d. h. wenn Sie ein 200x400-Eingabebild haben, ist es in Ordnung, wenn das Ausgabebild 20x40 ist (oder wenn die Ausgabe sogar eine Vektorgrafik ist). Sie sollten jedoch nicht alle Bilder in eine quadratische Form umwandeln; das Seitenverhältnis ist eines der Teile, die Sie irgendwie übertragen müssen.
0 Stimmen
Eine Frage zu den Regeln, aber würde die Umwandlung in ein Graustufenbild gegen uns sprechen, vorausgesetzt, das Bild sieht immer noch gut aus?
0 Stimmen
@Rob Es wird auf einer subjektiven Beurteilung beruhen. Wenn Sie durch die Umwandlung in Graustufen mehr Details erhalten, ist das großartig. Wenn die Detailgenauigkeit ungefähr der einer Farbversion entspricht, kann die Graustufenversion wahrscheinlich nicht mithalten. Also ja, bitte reichen Sie Lösungen mit Graustufen ein, wenn Sie glauben, dass das hilft. Ein Teil des Ziels des Wettbewerbs ist es, zu sehen, wie verschiedene Ansätze funktionieren; ich würde mich freuen, wenn die Leute experimentieren und verschiedene Lösungen ausprobieren.
0 Stimmen
Meiner Meinung nach würde ich es so einrichten, dass Sie mehrere Twits verwenden können, um das Bild zu senden... mit einem TCP-ähnlichen Code an der Vorderseite, um 1/3, 2/3-Notizen für den Entschlüsseler zu ermöglichen.
0 Stimmen
@Joey Tut mir leid, dass Sie es nicht früh genug gesehen haben! Ich habe versucht, es gut zu veröffentlichen, aber es ist schwer, sicherzustellen, dass jeder es sieht. @ape-inago Ja, man könnte jedes Bild in mehrere Twits packen, wenn man es aufteilt und wieder zusammenfügt. Aber dann wäre es keine große Herausforderung mehr, oder? Es ging darum, zu sehen, welche Art von Komprimierung die Leute mit brutal engen Vorgaben erreichen können.
0 Stimmen
Dies würde zwar nicht als Eintrag gelten, aber wäre das Hochladen von Daten in den "Avatar"-Slot des Nutzers eine mögliche Lösung?
0 Stimmen
Ich mag diese Herausforderung. Ich habe eine andere Idee: Da wir die Daten eines Bildes in Text kodieren können, könnten wir auch das Gegenteil tun. Nehmen wir eine zufällige Auswahl von, sagen wir, 1000 Tweets, und dekodieren sie in Bilder und sehen, was wir bekommen.