mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bilddatei in Array schreiben/speicher


Autor: Yogenlos123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen liebe Leute von heute,

ich würde sehr gerne eine Bilddatei (.bmp/.jpg) an einem Grafikdisplay 
anzeigen lassen.
Dazu möchte ich das Bild in ein Array einlesen und mithilfe des Arrays 
dann dem Display übergeben.
Die Ansteuerung zum Display ergibt keine Probleme, jedoch weiss ich 
nicht genau wie man ein Bitmap in ein Array schreiben bzw. umwandeln 
kann.

Hätte jemand eventuell ein Tutorial bzw. einen Beispielcode wie man das 
Bitmap umwandlen könnte? Gegebenfalls würde auch ein Online-Converter 
funktionieren.

Habe bereits auf Google gesucht, jedoch nichts brauchbares gefunden :/
Mit freundlichen Grüssen

PS: arbeite mit C++(Anfänger), habe jedoch schon Erfahrung in der C 
sowie Assemblerprogrammierung.

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bild soll aber schon offline konvertiert werden, und dann erst in 
den Mikrocontroller?

Was spricht dann gegen eine einfache Skriptsprache (Matlab/octave oder 
python), die dir einfach eine c-Datei mit dem benötigten Array erzeugt?
Das Bildeinlesen ist da ein Einzeiler jeweils

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast du denn für einen µC? Und Display?

Autor: Yogenlos123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Horst schrieb:
> Was spricht dann gegen eine einfache Skriptsprache (Matlab/octave oder
> python)

Skriptsprache? Tut mir leid wenn ich noch sehr wenig Ahnung davon habe, 
bin noch in der Ausbildung.

Also das Endprodukt wäre, dass ich mit einem Kameramodul ein Foto mache, 
dieses dem uP übergebe und anschliessend an einem Display anzeigen 
werde.

Ich habe bereits ein Foto auf dem Display angezeigt, jedoch habe ich 
dafür einen Bitmap--> Array converter verwendet und diese "Tabelle" 
einfach in den Code eingefügt.
Ich möchte aber diese Umwandlung direkt im uP vornehmen.

Danke schon mal für die raschen Antworten


uP STM32
Display NHD_2.4_240320

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ist das dein Thread: Beitrag "Bild an TFT Display anzeigen"


Wie kommt denn dein Bild in den STM? Wenn es ja gesendet wurde, empfängt 
er es über UART? Weil das BMP muss ja erstmal irgendwo 
"zwischengespeichert" werden - damit du es in ein Array umwandeln 
kannst.

Hier gibt es eine gute Quelle für Infos:
http://paulbourke.net/dataformats/bmp/

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt dann wohl auf das Kameramodul an. Normal kommt da aber raw heraus 
und nichts jpg-mäßiges.

Autor: Yogenlos123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Draco schrieb:
> Also ist das dein Thread: Beitrag "Bild an TFT Display anzeigen"

Nein

Draco schrieb:
> Wenn es ja gesendet wurde, empfängt er es über UART?

Ja genau

Draco schrieb:
> Hier gibt es eine gute Quelle für Infos:
> http://paulbourke.net/dataformats/bmp/

Oke danke, werd mir das mal durchlesen und gegebenfalls noch fragen 
stellen, falls dann noch welche offen sind

Horst schrieb:
> Kommt dann wohl auf das Kameramodul an. Normal kommt da aber raw heraus
> und nichts jpg-mäßiges.

Oke, ich habe leider nichts gefunden von raw bzw. jpg. Hier ist das 
Datasheet: 
https://cdn-shop.adafruit.com/product-files/1386/1...

Autor: Dominik R. (vision)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da es einen build in jpeg codec hat, gehe ich stark davon aus, dass es 
die Bilder als Jpeg übergibt. Hab mir aber nur die erste Seite 
angeguckt.

Autor: Gästchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich bin hier fündig geworden:

http://www.holger-klabunde.de/demos/demos.htm

Da gibts das praktische bmp2C.

Das ist ein Kommandozeilentool. Bilder kommen als Bitmap rein, es fällt 
ein C- und ein h-file für den AVR raus.
Da ich einen PIC verwende, hab ich mir die Anzeigefunktion selber 
geschrieben. Das sind nur wenige Zeilen.

Wenn es nur so einfach wäre, hübsche Icons selber zu zeichnen, wie sie 
anzuzeigen. Meine sehen aus, als hätte sie ein 4-Jähriges Kind 
gezeichnet...

Autor: Dominik R. (vision)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das verstanden habe, soll die Konvertierung direkt im uC 
stattfinden. Wenn dein Kameramodul also Jpeg ausgibt, wirst du um eine 
Jpeg Library nicht herum kommen.
Wie sieht es denn mit der Auflösung aus? Gibt die Kamera genau die 
Auflösung aus, die dein Display hat oder musst du das Jpeg noch 
verkleinern?

Autor: Yogenlos123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik R. schrieb:
> So wie ich das verstanden habe, soll die Konvertierung direkt im
> uC
> stattfinden. Wenn dein Kameramodul also Jpeg ausgibt, wirst du um eine
> Jpeg Library nicht herum kommen.
> Wie sieht es denn mit der Auflösung aus? Gibt die Kamera genau die
> Auflösung aus, die dein Display hat oder musst du das Jpeg noch
> verkleinern?


Oke vielen Dank schon mal,
Auflösung der Kamera 640x480
Display jedoch nur 320x240 --> das Bild muss dann noch verkleienrt 
werden..

Weiss jemand ob ich dies direkt in der initialisierung der Kamera 
vornehmen kann?

Mfg

Autor: Dominik R. (vision)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Datenblatt steht der Befehl, um die Auflösung herunter zu stellen 
(Seite 4 unten). Hast du dir das Datenblatt schon einmal angesehen?

Autor: Draco (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Yogenlos123 schrieb:
> Draco schrieb:
>> Also ist das dein Thread: Beitrag "Bild an TFT Display anzeigen"
>
> Nein

Also, veralbern braucht man hier nicht, ich fasse mal zusammen:

- Gleicher µC
- Gleiches Display
- Gleiches Problem (JPEG)
- Gleiches Problem (Ausgabe)
- Gleiche Randbedingungen (Bild senden, empfangen)
- Beide Displays bereits initialsiert
- Beide bekommen es nicht aufs Display
- Beide Lehrlinge

Das sind schon seeeeehr viele Gemeinsamkeiten für einen Tag unterschied! 
;-)

Hier ist mal ne gute Seite zu Infos und Verarbeitung von JPEGs: 
http://www.impulseadventure.com/photo/jpeg-huffman...

Um was beizutragen, hier ist ein JPEG Decompressor, musst du mal schauen 
wie die das gemacht haben: http://www.ijg.org/files/

Autor: Horst (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Du wirst mit dieser Kamera auf jeden Fall JPEG dekodieren müssen. Viel 
Spaß!
An allem was du bisher hier von dir gegeben hast, scheint die Aufgabe 
für dich 3 Stufen zu hoch zu sein.

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.