Seite 1 von 1

Generieren eines Datamatrix Codes & Umwandeln

Verfasst: Sonntag 26. Januar 2020, 22:49
von Leow91
Hallo zusammen,

ich habe eine Problemstellung, zu der ich einfach keine Lösung finde.

Ich generiere in meinem Code einen Datamatrix Code mit pylibdmtx. Das klappt gut.
Anschließend will ich diesen Datamatrix Code in ein File ausgeben, das einen String beschreibt mit 1en und 0en.

Also ein 2D String von im Quadrat 1-14 z.B..
Dazu muss ich aber das erzeugte Bild erstmal in Schwarz Weiß umwandeln. Auch kein Problem aber es wird immer ein 90x90 Pixel großes Bild erzeugt. Dieses versuche ich dann auf 14x14 pixel groß zu machen aber das was dann rauskommt ist immer falsch.

Kann mir hier wer helfen?

Danke & Gruss

Leo

Re: Generieren eines Datamatrix Codes & Umwandeln

Verfasst: Sonntag 26. Januar 2020, 23:01
von __deets__
Es gibt keine 2D strings. Du kannst auch ihnen String bauen, der 14 Werte für Spalten 14mal hintereinander enthält. Oder für Zeilen. Und dann ist die Frage ob da noch Zeilenumbrüche rein sollen oder nicht.

Ich würde das große Bild einfach nehmen & per zb pillow auf den Mittelpunkten der jeweiligen Quadrate prüfen, welche Farbe da zu sehen ist. Oder via numpy arrays arbeiten, und slicen so das nur eben die Mittelpunkte übrig bleiben.

Re: Generieren eines Datamatrix Codes & Umwandeln

Verfasst: Sonntag 26. Januar 2020, 23:16
von Leow91
Perfekt genau sowas hab ich gesucht !

Meinte natürlich array sorry 😁
Hobbyprogrammierer...

Hättest du eventuell einen ansatz bezüglich der mittelpunktsuche? :)

Gruß
Leo

Re: Generieren eines Datamatrix Codes & Umwandeln

Verfasst: Montag 27. Januar 2020, 01:14
von __deets__
Wo ist die Koordinate des oberen linken Mittelpunktes, und was ist die Breite eines Quadrates? Wenn du das hast, brauchst du nur noch zwei for-schleifen.

Re: Generieren eines Datamatrix Codes & Umwandeln

Verfasst: Mittwoch 5. Februar 2020, 18:59
von Leow91
Hey zusammen,

danke das hat mir geholfen!
Also falls das nochmal wer liest, hier die Auflösung.
Das Problem ist die Datamatrix Bibliothek Libdmtx erzeugt einen Rand um das jeweilige erzeugte Bild.
Dieser Rand war bei mir 10Pixel groß. Wenn man den berücksichtigt ergeben die Dot´s auch wieder gleichmäßig große Quadrate von Pixeln und man kann sehr leicht durchspringen durch die Dot´s.


Gruß Leow91