← Alle Artikel

Warum künstlerische QR-Codes trotzdem scannen: die Halbton-Idee

2026-10-17 · Aktualisiert 2026-10-26 artistic halftone scannability design

Ein künstlerischer QR-Code lässt sich trotzdem scannen, weil manche Decoder nicht jedes Modul als Ganzes bewerten. Ein Open-Source-Decoder, ZXing, liest ein Pixel in der berechneten Mitte jedes Moduls. Der Halbton-Ansatz, 2013 von Chu et al. beschrieben, baut darauf auf: Jedes Modul behält in seiner Mitte einen Punkt in der richtigen Farbe, und das Bild scheint drumherum durch. Der Trick versagt, wenn Unschärfe oder eine Überlagerung die Mitte erreicht; jedes Design braucht daher einen Dekodiertest und einen gedruckten Probedruck.

Fakten geprüft am 17. Oktober 2026.

Was ein Scanner ansieht und was er auslässt

Die folgende Struktur stammt aus der Ausgabe 2006 von ISO/IEC 18004; eine vierte Ausgabe erschien im August 2024, deren Volltext wir nicht gelesen haben. Ein QR-Code hat drei identische Positionsmuster aus dunklen 7×7-, hellen 5×5- und dunklen 3×3-Modulen im Verhältnis 1:1:3:1:1; findet ein Leser alle drei, weiß er, wo das Symbol liegt und wie es gedreht ist. Timing- und Ausrichtungsmuster helfen ihm dann, das Modulraster zu platzieren.

Ist das Raster platziert, tastet der Decoder jedes Modul ab. Ein Beitrag zur EUSIPCO 2022 baut auf der Annahme auf, dass nur das mittlere Pixel jedes Moduls abgetastet wird, ergänzt aber, dass auch benachbarte Pixel abgetastet werden können, wenn das Abtastraster fehlerhaft geschätzt wird. Wie die eingebauten Kameras von iPhones und Android-Handys dekodieren, haben wir nicht geprüft; nimm ZXing also als ein Beispiel, nicht als jedes Handy.

Die Halbton-Idee

Chu, Chang, Lee und Mitra veröffentlichten „Halftone QR Codes“ im November 2013 in ACM Transactions on Graphics. Das Modell des Beitrags teilt jedes Modul in 3×3 Untermodule und bindet die Farbe des Moduls an das mittlere; die anderen acht dürfen einem Halbtonbild folgen. Unter perfekten Bedingungen, so die Autoren, sollte jedes Muster mit der richtigen Farbe in der Mitte ein Modul lesbar lassen. Sie ändern nur Datenmodule.

Stell es dir als Versprechen pro Modul vor: Die Mitte stimmt immer, der Rest darf das Bild zeigen. Tastet der Decoder genau die Mitte ab, beschädigt das Bild kein Codewort, und die Fehlerkorrektur bleibt in Reserve (das ist unsere Lesart, keine Aussage des Beitrags). Echtes Abtasten ist unvollkommen, und genau da wird die Reserve verbraucht. Die Autoren beschreiben außerdem einen optionalen Schritt, der in ihren Tests bewusst bis zur Hälfte der Korrekturkapazität verbraucht.

Der Beitrag benennt die Kosten offen: Er führt Unschärfe durch Herunterskalieren als Einschränkung an, weil das mittlere Pixel, das die Daten trägt, leicht von seinen Nachbarn verfälscht wird. In einem Test mit fünf Codes, drei Nutzern und vier Barcode-Lesern auf dem Handy versagten Halbton-Codes ab einem Gaußschen Unschärferadius von 2 Pixeln und einem Betrachtungswinkel von 40 Grad; vergleichbare normale Codes erst bei 6 Pixeln und 60 Grad. Derselbe Beitrag berichtet, dass von 100 mit Standardeinstellungen erzeugten Codes 91 auf allen vier Lesern funktionierten. Die Tests nutzten ein 8-Megapixel-Handy und auf einem Monitor angezeigte Codes; lies sie also als Richtung, nicht als Prognose für heutige Handys.

Wo künstlerische Codes kaputtgehen

Jede Zeile verletzt die Annahme der Mittenabtastung oder verbraucht Fehlerkorrekturkapazität. Die letzte Spalte kennzeichnet unsere eigenen Überlegungen.

Was du tustWas schiefgehtGrundlage
Helle Module auf dunklen Hintergrund setzenDie Ausgabe 2006 erlaubt helle Symbole auf dunklem Hintergrund, aber jeder Decoder entscheidet selbst, ob er ein invertiertes Bild versucht. ZXing tut das nur, wenn der Aufrufer einen Hinweis setzt; jsQR versucht standardmäßig beides, bei etwa 50 % Geschwindigkeitsverlust.Norm, zwei Decoder; Handykameras nicht geprüft
Über die drei Eckmuster malenSie verorten und orientieren das Symbol, und Chu et al. ändern nur Datenmodule.Ausgabe 2006; Chu et al.
Weniger als vier Module Rand lassenDie Ausgabe 2006 verlangt eine Ruhezone von vier Modulen Breite. DENSO WAVE sagt, dass Buchstaben oder Bilder rund um den Code den nötigen Rand verhindern.Ausgabe 2006; DENSO WAVE
Die Mittelpunkte verkleinern, um mehr Bild zu zeigenWeniger Spielraum, wenn das Abtastraster leicht danebenliegt, und Halbton-Codes vertrugen im Test von 2013 weniger Unschärfe und Winkel.EUSIPCO 2022; Chu et al.; der Bezug zur Punktgröße ist unsere Schlussfolgerung
Die Punkte in den Farben des Bildes einfärbenDer Hell-Dunkel-Abstand kann schrumpfen. Der Binarisierer von ZXing behandelt einen 8×8-Pixel-Block, dessen hellstes und dunkelstes Pixel sich um 24 Stufen oder weniger unterscheiden (Skala 0 bis 255), als Block mit nur hellen oder nur dunklen Pixeln und schätzt seinen Schwellenwert anders.ZXing-Quellcode; der Bezug zum Einfärben ist unsere Schlussfolgerung

Warum „30 % Fehlerkorrektur“ nicht 30 % der Fläche sind

Die Ausgabe 2006 nennt eine ungefähre Wiederherstellungskapazität von 7 %, 15 %, 25 % und 30 % für die Stufen L, M, Q und H, als Anteil an den Codewörtern des Symbols. DENSO WAVE drückt die Rate ebenfalls als Anteil an allen Codewörtern aus. Die Norm ergänzt, dass ein umgekipptes Modul sein Zeichen als scheinbar gültiges, aber anderes Codewort dekodieren lässt, und dass dessen Korrektur zwei Korrekturcodewörter kostet. Ihr Beispiel: Ein Symbol der Version 6-H hat 172 Codewörter, davon 112 für die Korrektur, die 56 Fehldekodierungen beheben können, also 32,6 % der Kapazität.

Jeder Flächenanteil ist also geraten. In einem regulären Symbol liegt ein Codewort in einer Spalte von zwei Modulen Breite und vier Modulen Höhe, so lesen wir die Abbildung zur Bitplatzierung in der Norm; nach unserer Schlussfolgerung können verstreute Sprenkel also mehr Codewörter berühren als ein zusammenhängender Fleck derselben Fläche. Wir behaupten nichts darüber, wie viel Fläche ein Design abdecken darf. Zur Wahl einer Stufe siehe Fehlerkorrekturstufen erklärt; fertige Beispiele zeigen die Designideen nach Branche.

So prüfst du einen künstlerischen Code vor dem Druck

  1. Beginn mit Stufe H und dem kürzestmöglichen Inhalt. Mehr Inhalt bedeutet bei gleicher Druckgröße kleinere Module, und DENSO WAVE sagt, dass größere Module stabiler und leichter lesbar sind. Der Leitfaden zur Datenkapazität zeigt, wie schnell Symbole wachsen.
  2. Prüf überall Dunkel gegen Hell. Wandle das Design in Graustufen um. Jeder dunkle Punkt sollte deutlich dunkler sein als die hellen Punkte daneben, in hellen wie dunklen Bildbereichen.
  3. Dekodiere digital in mehreren Größen. Der kostenlose QR-Code-Prüfer läuft im Browser, ohne das Bild hochzuladen, testet Kontrast und Ruhezone, prüft in verkleinerten Größen erneut und markiert einen Code, der sich nur invertiert dekodieren lässt.
  4. Druck einen Probedruck und scanne ihn mit verschiedenen Handys. Der informative Anhang der Norm verlangt, ein Symbol in seiner endgültigen Etiketten- oder Verpackungsform zu prüfen, weil „Überlagerungen, Durchscheinen und gekrümmte oder unregelmäßige Oberflächen die Lesbarkeit des Symbols beeinträchtigen können“. Chu et al. sahen, dass sich vier Barcode-Leser auf demselben Handy unterschiedlich verhielten; nimm also mindestens zwei Handys, bei echtem Abstand und Licht. Mindestbreiten findest du im Leitfaden zur Druckgröße.
  5. Wenn es scheitert, änder eine Sache auf einmal. Vergrößere die Mittelpunkte, senke den Bildkontrast, druck größer oder kürze den Inhalt, und wiederhole dann Schritt 3 und 4.

Was eine eingebaute Prüfung sagen kann und was nicht

Im Editor von QR Maker AI sind Festtagsthemen und Motiv-Halbtöne wie das Zeichen 福 kostenlos, und die Bildverschmelzung, also dein eigenes Bild unter den Punkten, ist Stand Oktober 2026 eine Pro-Funktion (siehe Preise). Bei Motiv-Halbtönen und Bildverschmelzung zeichnet der Editor pro Modul nur einen Mittelpunkt, legt einen einfarbig hellen Block unter die Eckmuster, die Ausrichtungsmuster und den Logobereich und setzt die Fehlerkorrektur auf Stufe H.

Die Scan-Guard-Prüfung des Editors dekodiert den gerenderten Code im Browser in normaler Größe und mehreren kleineren, mit einem Open-Source-Decoder und nur im Modus dunkel auf hell. Sie kann keine hellen Codes auf dunklem Grund, kein Papier, keine Tinte, keine gekrümmten Oberflächen und keine Handykamera testen; der Probedruck aus Schritt 4 bleibt also nötig. Probier ein Design im Editor aus.

FAQ

Wie funktionieren künstlerische QR-Codes?

Halbton-Codes behalten in der Mitte jedes Moduls einen Punkt in der richtigen Farbe und zeichnen das Bild drumherum, weil Decoder wie ZXing nahe der Modulmitte abtasten. Die Fehlerkorrektur ist die zusätzliche Sicherheitsreserve.

Kann ich ein Foto hinter einen QR-Code legen, und er scannt trotzdem?

Das kann funktionieren, wenn die Punkte deutlich dunkler oder heller als ihre Umgebung bleiben, Ecken und Rand frei bleiben und die Fehlerkorrektur H ist. Kein Design scannt garantiert; teste also einen Probedruck.

Kann ich weiße Punkte auf dunklem Hintergrund verwenden?

Die Norm erlaubt helle Symbole auf dunklem Hintergrund, aber die Unterstützung hängt von der App ab: ZXing versucht ein invertiertes Bild nur auf Anweisung. Dunkel auf hell ist sicherer; teste jedes invertierte Design auf den Handys deines Publikums.

Wie viel eines QR-Codes darf ein Design abdecken?

Die Stufe lässt sich nicht in einen Flächenanteil übersetzen. Fehlerkorrekturstufen sind als Anteil an Codewörtern definiert, und ein einziges umgekipptes Modul verdirbt sein ganzes Codewort. Teste die tatsächliche Datei.

Warum scannt mein gestalteter QR-Code nicht?

Prüfe auf invertierte Farben, verdeckte Ecken, einen Rand unter vier Modulen, schwachen Kontrast zwischen dunklen und hellen Punkten und zu kleinen Druck. Die Fehlerbehebungsliste behandelt weitere Ursachen.

Quellen

  1. ZXing project — DefaultGridSampler.java. Undated source file. Accessed 17 October 2026.
  2. Chu, H.-K., et al. — Halftone QR Codes. ACM Transactions on Graphics 32(6), Article 217, SIGGRAPH Asia 2013 (author-hosted PDF, National Tsing Hua University; publisher record: ACM Digital Library). Published 1 November 2013. Accessed 17 October 2026.
  3. ISO/IEC — ISO/IEC 18004:2006, QR Code 2005 bar code symbology specification. Second edition, published 1 September 2006 (copy hosted by Public.Resource.Org). Accessed 17 October 2026.
  4. ISO — ISO/IEC 18004:2024 standard page. Fourth edition, published August 2024. Accessed 17 October 2026.
  5. Pena-Pena, K., Lau, D. L., Arce, G. R. — Colored-QRNet: Fast QR Code Color Image Embedding. EUSIPCO 2022 proceedings. Published 2022. Accessed 17 October 2026.
  6. ZXing project — DecodeHintType.java. Undated source file. Accessed 17 October 2026.
  7. jsQR project — README. Undated. Accessed 17 October 2026.
  8. DENSO WAVE — Examples of problems encountered in reading a code. QRcode.com, undated. Accessed 17 October 2026.
  9. ZXing project — HybridBinarizer.java. Undated source file. Accessed 17 October 2026.
  10. DENSO WAVE — Error correction feature. QRcode.com, undated. Accessed 17 October 2026.
  11. DENSO WAVE — Point for setting the module size. QRcode.com, undated. Accessed 17 October 2026.

Erstelle kostenlos einen dynamischen QR-Code – ändere das Ziel jederzeit und miss jeden Scan.

QR-Code erstellen →