Forum: Mikrocontroller und Digitale Elektronik C, ESP32, Lilygo E-Ink Display "Bilder" anzeigen


von Hendrik K. (hendrik2021)


Angehängte Dateien:

Lesenswert?

Abend,

ich würde gerne ein Bild (QR-Code) auf einem E-Ink Display mit Esp32 
Controller anzeigen lasssen. Jedenfalls verstehe ich nicht ganz, wie ich 
das Bild formatieren muss. In der Arduino IDE gibt es Beispiele wo 
Bilder anzeigt werden, die sehen dann wie folgt aus: (Siehe angehängte 
header Datei). Ich habe im Internet den folgenden "Converter" gefunden:
http://tomeko.net/online_tools/file_to_hex.php?lang=en

Allerdings kommt beim Anzeigen des Bildes nach Anpassung des Codes nur 
schwarzes raus... kein Bild. Wie bekomme ich ein Bild so umgewandelt das 
ich es mir anzeigen lassen kann? Oder wie nennt man solch ein Format? 
Ich sehe da nur hexadecimal, wie man sowas dann nennt und selber 
erstellt erschließt sich mir gerade noch nicht :(.


Danke im Voraus für Eure Hilfe!


Es handelt sich um folgendes Produkt: 
https://de.banggood.com/LILYGO-T5-4_7-inch-E-paper-Screen-CH9102F-QFN24-ESP32-V3-Version-16MB-FLASH-8MB-PSRAM-WIFI-Bluetooth-Display-Module-p-1880409.html?utm_source=googleshopping&utm_medium=cpc_organic&gmcCountry=DE&utm_content=minha&utm_campaign=aceng-pmax-deg-de-pc&currency=EUR&cur_warehouse=CN&createTmp=1&ID=6300830&utm_source=googleshopping&utm_medium=cpc_eu&utm_content=dcr&gltraceid=11962568704&utm_campaign=aceng-ssc-deg-0928exclude-220616&ad_id=&gclid=EAIaIQobChMIiKnygujZ_wIVTQCLCh12_wl_EAQYASABEgJHG_D_BwE

: Verschoben durch Moderator
von C-hater (c-hater)


Lesenswert?

Hendrik K. schrieb:

> Oder wie nennt man solch ein Format?
> Ich sehe da nur hexadecimal, wie man sowas dann nennt und selber
> erstellt erschließt sich mir gerade noch nicht :(.

Das sind RAW-Bilddaten in einem 16Bit-Pixelformat und zwar mit einem 
Zeilenpadding auf 16Bit.
Die verbreitetsten 16Bit-Formate sind RGB565, RGB555 und ARGB1555. Eins 
davon wird es mit einiger Wahrscheinlichkeit sein.

> Allerdings kommt beim Anzeigen des Bildes nach Anpassung des Codes nur
> schwarzes raus... kein Bild.

Entweder erwartet der Code zur Anzeige ein anderes Format als das 
vorliegende oder du hast bei seiner "Anpassung" einen Fehler gemacht. 
Ich tippe auf letzteres, denn die allermeisten Bits im Bild sind 
gesetzt, also selbst wenn das Pixelformat nicht genau passt, sollte sich 
ein Bild ergeben, was überwiegend eher hell bis weiß ist und nicht 
schwarz.

von C-hater (c-hater)


Lesenswert?

C-hater schrieb:

> Das sind RAW-Bilddaten in einem 16Bit-Pixelformat und zwar mit einem
> Zeilenpadding auf 16Bit.

Bei nochmaligem Nachdenken: Das war zumindest teilweise Quatsch. Es 
handelt sich nicht um ein 16Bit-Format, sondern um ein 4Bit-Format und 
das Zeilenpadding erfolgt auf ganze Bytes.

Der Rest der Betrachtungen bleibt aber unverändert, sprich: das Bild 
sollte eher hell bis weiß erscheinen.

von Hendrik K. (hendrik2021)


Lesenswert?

Ich glaube es liegt daran, dass das Bild welches ich konvertiert habe 
nicht in den passenden Grau- & Schwarzstufen ist. D.h ich muss das Bild 
in den passenden Schwarz & Graustufen haben. Aber der QR-Code sollte ja 
nur in zwei Farben, also Schwarz und Weiß sein.

Evtl. liegt es daran?
Wie könnte ich das Bild nur in die passenden Farben konvertieren?
Also keine, die nicht dargestellt werden können.

von Hendrik K. (hendrik2021)


Lesenswert?

Ich glaube es liegt daran, dass das Bild welches ich konvertiert habe 
nicht in den passenden Grau- & Schwarzstufen ist. D.h ich muss das Bild 
in den passenden Schwarz & Graustufen haben. Aber der QR-Code sollte ja 
nur in zwei Farben, also Schwarz und Weiß sein.

Evtl. liegt es daran?
Wie könnte ich das Bild nur in die passenden Farben konvertieren?
Also keine, die nicht dargestellt werden können.

von Jan H. (jan_h74) Flattr this


Lesenswert?

Ich vewende diesen Tool :  https://oleddisplay.squix.ch/#/home, 
Background color: White
Brightness / alpha threshold: zelf instelllen zodat het voorbeeld er het 
mooiste uitziet in de preview eronder
Scaling: scale to fit, keeping proportions
Center: horizontally & vertically
Flip: horizontally
Mit den GFX lib von Adafruit functioniert das prima. Project lauft auf 
eine T5 Lilygo display.
https://github.com/RP6conrad/ESP-GPS-Logger/blob/master/README.md

von C-hater (c-hater)


Lesenswert?

Hendrik K. schrieb:

> Ich glaube es liegt daran, dass das Bild welches ich konvertiert habe
> nicht in den passenden Grau- & Schwarzstufen ist. D.h ich muss das Bild
> in den passenden Schwarz & Graustufen haben. Aber der QR-Code sollte ja
> nur in zwei Farben, also Schwarz und Weiß sein.
>
> Evtl. liegt es daran?
> Wie könnte ich das Bild nur in die passenden Farben konvertieren?
> Also keine, die nicht dargestellt werden können.

Die eigentliche Frage ist: was genau kann/erwartet der Code, der das 
Bild darstellen soll. Wenn man das erstmal weiss, ist es kein großes 
Problem mehr, die Bilddaten passend aufzubereiten.

von Hendrik K. (hendrik2021)


Angehängte Dateien:

Lesenswert?

habe dir die Demo Datei mal reingepackt. Das ist der Code der die Bilder 
darstellen soll. Wahrscheinlich müsste man aber eher den Code der aus 
der von der benutzen Bibliothek ist, oder? Also der bei #include 
eingebunden wird.

Hier mal der GitHub von der library:
https://github.com/Xinyuan-LilyGO/LilyGo-EPD47

von Hendrik K. (hendrik2021)


Lesenswert?

Guten Abend,

ich habs jetzt doch hinbekommen. Beim Download von der Library "EPD 
Master..." gibt es ein Python Script mitgeliefert, welches ein .png Bild 
passend umwandelt!

Danke für Eure Hilfe & Bemühungen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.