www.mikrocontroller.net

Forum: Compiler & IDEs kann µC auch komprimierte Bilder verarbeiten?


Autor: Stefan Hämmerle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

hab die Aufgabe bekommen, verpackte Bildinformationen mit einem µP auf
einem LCD anzuzeigen!
LCD Anzeige ist kein Problem. die Bildinformationen werde ich über die
serielle Schnittstelle reinholen - ich denke mal ein Bitmap anzuzeigen
ist somit kein Problem.
Allerdings verpackte Bildinformationen (wie z.B. JPEG)??? - gibts dafür
irgendwelche Bibliotheken für µCs?

Danke schon mal im voraus!!!!

lg Stefan

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jpeg würde ich nicht unbedingt verwenden, aber einfache Sachen wie pcx
oder gif sollten kein Problem sein.
In den seltensten Fällen wird man auf einem LCD auch true color Bilder
brauchen. Meist reichen 2-256 Farben.

Autor: Stefan Hämmerle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal!
zur Info: Ich verwende ein monochromes LCD, pro Pixel brauche ich also
ein Bit Daten. Es handelt sich um ein 1/4 VGA Display (320x240 Pixel) -
also 76 800 Bytes Daten. Die Aufgabe lautet aber nur ca. 1/3 dieser
Bytes über die serielle Schnittstelle zu übertragen - folgedessen muss
ich die Daten mit einem Faktor 3 komprimieren können!
hast du da konkrete Vorschläge?

lg Stefan

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann geht es einfach:
Übertrage doch einfach nur ein SW Bild, dann reichen
76800Bytes/8=9600Bytes.
Ansonsten versuchs mal mit einem gif Decoder (->google) falls der uC
schnell genug ist und noch genügend RAM und Flash frei hat.

Autor: Stefan Hämmerle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aber es ist doch nur ein SW Bild (pro Pixel 1 Bit, nicht Byte!)

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da reicht meist eine sehr einfache Komprimierung: Mehrere
hintereinanderfolgende gleichfarbige Pixel durch einen Code und die
Anzahl ersetzen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sogenanntes RLE (run-length encoding).  Gibt's beispielsweise
bei TIFF, wird gern für Faxübertragungen benutzt.  Auch das
reine Faxformat (G3) könnte helfen.

Beispielcode für das alles gibt es zahlreich im Netz.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du nur ein Bitpro Pixel hast (also ein reines
Schwarz/Weiss Bild ohne Grautöne), kommt es auch darauf
an was auf dem Bild drauf ist:
Wenn du eine Zeichnung überträgst, ist RLE sicher eine
gute Wahl. Wenn du aber ein Photo (Portät, Landschaft, etc)
überträgst, wirst du um eine spezielle Aufbereitung der
Bilddaten beim runterrechnen auf 1Bit/Pixel nicht herumkommen.
Stichwort: Dithering.
Diese Bilder eignen sich dann meist nicht so gut zum RLE-
Kompremieren.
Aber 9600 Byte sind auch nicht die Welt.

Alles andere: PNG, JPG oder sonstige hochgezüchtete Komressions-
formate halte ich für diesen spezielle Fall für overkill.

Autor: Stefan Hämmerle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ersmals sorry - hab erst jetzt meinen Schlampigkeitsfehler entdeckt!
es sind nur 9600 Byte (76 800 Bit), wie im letzten Beitrag erwähnt.
Um welche Art von Bilddaten es sich handelt, muss ich mich nicht
kümmern. Das Bild (Grafik) ist schwarz weiß und eignet sich um auf
einem monochromen LCD anzuzeigen. Ich muss also das SW Bild nicht aus
einem Farbbild rausrechnen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.