QR-Codes identisch kopieren

  • hi,

    wollt mal fragen ob es eine möglichkeit gibt,

    einen qr-code pixelgenau einzuscannen?

    jedenfalls würde ich es gern vermeiden es in paint nachzuzeichnen.

    ich weiß das die generierten zwar auch funktionieren,

    aber wo ist das problem das identische paatern wiederherzustellen?

    wenn die app es lesen konnte,

    dann sollte es auch genau so wieder schreiben können...

    -_-

  • Es gibt verschiedene QR Generationen (Versionen) + mehrere Levels an Fehlerkorrekturen die man einbauen kann. Dh. wenn man all diese Angaben kennt, dann sollte man den exakt gleichen QRCode wieder generieren können.

  • das mit den leveln hab ich schon probiert,

    denn verschiedene qr-generatoren haben u.u.

    beim gleichen fehlerkorrektur-level unterschiedliche muster.

    in den qr codes gibt es gewisse pattern,

    also die art wie die fehlerkorrektur verwürfelt wird.

    es gibt 8 modies (oder so).

    ich vermute, dass es daran liegen könnte,

    denn selbst "profie-apps" verschweigen diesen teil der qr-code spezifikation.

    ich muss mal nach schaun wo ich das gefunden hatte,

    denn im wiki artikel konnt ich das auf die schnelle nicht so finden.

    ---

    [edit:]

    gefunden im englischen wiki artikel,

    es ist das encoding/mask patterns:

    https://en.wikipedia.org/wiki/QR_code#Encoding

    [edit2:]

    "witziger weise" sind meine 2 QR-codes im exakt selben encoding format,

    wenn ich die encoding zonen vergleiche.

    und trozdem sind diese unterschiedlich... 8|

  • Wahrscheinlich muss selber einen Encoder bzw Decoder implementieren um es vollständig zu versehen:D

    EDIT

    Die genauen Spezifikationen muss man aber bei der ISO kaufen :-/

    EDIT2

    Da ist jemand gestolpert und sein Fotoapparat hat ausgelöst.

    https://github.com/yansikeim/QR-C…%20Standard.pdf

    VapourSynth Paketmanager VSRepo + GUI

    Avisynth Paketmanager AVSRepo + GUI

    Einmal editiert, zuletzt von FatFaster (23. Juli 2022 um 12:37)

  • der ist sehr interessant, lustig, das man die eingabe in echtzeit sehen kann... :D

    aber mit allen kombinationen konnt ich mein qr code nicht generieren.

    auch der indikator, der laut wikipedia unten links ist,

    ändert sich ab und zu durch die texteingabe.

    das verwirrt, da sich angeblich auch die "Error correction" ändert...

    ein tool habe ich noch...

    den 'Portable QR-Code Generator', ein java programm

    der kann auch das text encoding beeinflussen

    ---

    [edit]

    nope, klappt auch nicht, bei dem fehlt wieder das level...

  • hi,

    wollt mal fragen ob es eine möglichkeit gibt,

    einen qr-code pixelgenau einzuscannen?

    jedenfalls würde ich es gern vermeiden es in paint nachzuzeichnen.

    Was verstehst du denn unter "pixelgenau"? Ich vermute mal, die schwarzen und weißen Quadrate im Grundraster des QR-Codes (sorry, wenn ich mich etwas laienhaft ausdrücke).

    Was ich versuchen würde: Zunächst mal in höchstmöglicher Auflösung einscannen und den Scan in einem verlustlosen Format (z.B. TIF oder BMP, kein JPG!) speichern. Danach das Bild in schwarzweiß (Farbtiefe 1 Bit) wandeln, um "Grauschattierungen" loszuwerden. Dann sollte man mit einer Vektorisierungs-Software den QR-Code recht gut (automatisiert) rekonstruieren können. Abspeichern dann in einem Vektor-Format, z.B. WMF oder SVG.

    Mit QR-Codes habe ich das noch nicht versucht, aber z.B. bei Logos oder Wappen habe ich damit recht brauchbare Ergebnisse erzielen können.

    Grüße Thomas

  • Ich nehme an, in den QR-Codes könnten auch Uhrzeiten der Erstellung oder andere Metadaten einen Einfluss haben. Vielleicht besteht der Inhalt nicht allein aus den Nutzdaten, die der Autor dort einbetten will. Aber sicher bin ich da nicht.

    Ich habe unter Windows bisher gern die Barcode-Software von ByteScout genutzt. Die unterstützt mehr als nur QR, und der Generator lässt sich ziemlich umfangreich konfigurieren.

    HQ-LQ meint sicherlich: Wenn man einen QR-Code fotografiert, kann er leicht verzerrt sein, die einzelnen Elemente müssen nicht exakt auf Pixelgrenzen im Bild liegen, ihre Breite kann zufällig mal einen Pixel breiter oder schmaler im Bild sein. Um so ein Bild zu vereinheitlichen, müsste man es gerade rücken und auf seine Minimalgröße verkleinern, so dass bestmögliche Mittelwerte einer ganzen Fläche in ein neues Bildpixel eingepasst werden... Vermutlich wäre es am saubersten, wenn man eine Software hätte, die so mitten in der Bilderkennung eines QR-Codes diesen gleich wieder frisch generiert. So eine Art "QR Cleaner". So etwas kenne ich allerdings bisher nicht.

  • genau pixelgenau bedeutet, das am ende die punkte an der exackt selben stelle wie vorher sind.

    und was ihr nicht wisst, es am ende runterskalieren, und zwar auf ein pixel pro punkt.

    das ist garnicht so einfach, selbst ein digitales bild sollte eigendlich einfach sein,

    wenn aber eine punktreihe auch nur ein pixel zu breit ist, so kann ich es nicht fehlerfrei runterskalieren,

    selbst 'nearest neighbor' bricht zusammen.

    was ich bräuchte wäre ein messpunkt raster, der nur in der mitte des bildpunktes die farbinformation scant.

    wenn man ca. 10 punkte ausgerichtet hat, dann könnte diese matrix auch die punkte zählen.

    bei kleinen qr-codes kann man notfalls auch selbst zählen.

    eigendlich müssten das die ganzen qr-code scanner ja machen, um ein qr-code zu erkennen,

    diese müssten nur diese scan-rohdaten ausgeben.

    gibt es nicht eine javascript-biliotheke, die qr-codes interpretiert?

    vielleicht kann man dort den code rausziehen und ihn in ein script verpacken. :P

  • Zitat

    Vermutlich wäre es am saubersten, wenn man eine Software hätte, die so mitten in der Bilderkennung eines QR-Codes diesen gleich wieder frisch generiert. So eine Art "QR Cleaner". So etwas kenne ich allerdings bisher nicht.

    Vermutlich wäre es am saubersten, wenn man eine Software hätte, die so mitten in der Bilderkennung eines QR-Codes diesen gleich wieder frisch generiert. So eine Art "QR Cleaner". So etwas kenne ich allerdings bisher nicht.übrigens bin ich zum erstenmal auf dieses phänomen gestoßen,

    als mein 3# impfnachweiß auf einen fast leeren tonerpapier gedruckt wurde.

    ich konnte ihn einlesen, die 'corona warn app' & 'CovPass' konnten mir dann dieses digitales impfzertifikat neu generieren,

    nur war der qr-code seltsamerweise komplett anders.

    und zwar bei jeder app.

    deswegen ist der gedanke garnicht so falsch, dass ich im kern ein qr-code repair tool suche.

    nur wollte ich es 100% akkurat... :D

    war ja schließlich ein behördliches dokument... oder so. :S

  • hab grad ne witzige idee,

    da mal einer avisynth auch für bildbearbeitung verwendet hat,

    so frage ich mich, könnte man dass nicht auch mit avisynth umsetzen?

    also ganz rudimentär eine punktrastermatrix angeben,

    z.b. 33x33,

    und dann wirft es das punktraster aus.

    ich schupse ja schon jetzt meine qr-codes durch paint & co. ...

    :D

  • das ist garnicht so einfach, selbst ein digitales bild sollte eigendlich einfach sein,

    wenn aber eine punktreihe auch nur ein pixel zu breit ist, so kann ich es nicht fehlerfrei runterskalieren,

    selbst 'nearest neighbor' bricht zusammen.

    Darum sollst du ja auch ein vektor-basiertes Format verwenden und keine Pixelgrafiken!!

    Grüße Thomas

  • Grundsätzlich funktioniert das doch genau so wie bereits angedacht:

    1. Grafik an den Eckmarkierungen in eine quadratische Form ausrichten (Perspektivkorrektur), evtl. säubern (Median o.ä.)
    2. Dimension des 2D-Codes ermitteln (Felder zählen)
    3. Grafik auf Minimalgröße verkleinern (hier wären verschiedene Skalierungskernel denkbar)
    4. 1-bit-Farbreduktion mit Kontrasterhöhung durch Schwellwertgrenze

    Muss man nur noch für jeden Schritt die optimale Variante finden, vor allem so, dass der Schwellwert zwischen schwarz und weiß sicher gefunden wird.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!