Generieren eines Datamatrix Codes & Umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Leow91
User
Beiträge: 3
Registriert: Sonntag 26. Januar 2020, 22:44

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Leow91
User
Beiträge: 3
Registriert: Sonntag 26. Januar 2020, 22:44

Perfekt genau sowas hab ich gesucht !

Meinte natürlich array sorry 😁
Hobbyprogrammierer...

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

Gruß
Leo
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Leow91
User
Beiträge: 3
Registriert: Sonntag 26. Januar 2020, 22:44

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
Antworten