JPG auf MMC/SD - Karte speichern

OP #1010348
Hi
Hat von euch schon mal einer die Cam von Ulrich Radig angeschlossen und 
die Bilder im JPG Format auf MMC/SD – Karte gespeichert?

Ich wollte so was mal in angriff nehmen nur leider fehlen mir dazu die 
nötigen Ansätze.
Für die Speicherrung auf MMC/SD – Karte  habe ich überlegt die Lib. von 
Stefan Seegel  zu nehmen 
(Beitrag "MMC/SD Karte: mmc_lib Version 2.0").
Als Cam wollte ich die DC3840 nehmen. Jetzt ist nur die frage wie 
bekomme ich Daten auf die MMC/SD – Karte als JPG gespeichert.
Für den gesamten Aufbau wollte ich einen Atmega32 nehmen.

Ich hoffe ihr könnt mir da ein wenig weiterhelfen.

Gruß Simon
Als ersten Schritt solltest du dir vielleicht mal grob anschauen, wie 
JPEG funktioniert, und ggfs mal den Quelltext der 
Referenz-Implementierung ("jpeg6b") überfliegen.

Vermutlich wird dir dabei die Lust auf "Jpeg komprimieren mit Atmega32" 
vergehen... Speicher lieber unkomprimierte BMPs oder GIFs mit fixer 
Palette. Das Umwandeln in JPG macht nachher ein PC ganz nebenbei ohne 
ins Schwitzen zu kommen.
@Ernst
Alles unnötig, die Kamera liefert schon die Bilder als jpg.

@Simon

Mach dir einen Buffer von z.B. 512 oder 1024Byte und fülle diesen mit 
Daten von der Kamera. Diesen schreibst du dann in eine Datei.
Die von dir angesprochene MMC Lib steuert allerdings nur die MMC/SD an. 
Das Dateisystem musst du selbst machen, oder die Daten Low Level auf die 
Karte speichern.
Oder du nimmst z.B. dieses hier
http://elm-chan.org/fsw/ff/00index_e.html
dann kannst du die Daten einfach mit f_write(buffer, usw.) schreiben.
Ja, kannst du.
Die Daten haben direkt schon den passenden jpeg Header usw. Wenn du die 
Datei als .jpg speicherst, kann die Datei am PC wie jede andere jpg 
Datei angezeigt werden.

Das größte Problem dürfte sein, die Daten der Kamera in 512 oder 
1024Byte große Happen zu zerlegen.
Ein Bild ist je nach Auflösung und Komprimierung etwa 5-15kByte groß.
Die Software von Ulrich Radig lässt die Kamera die Daten mehrmals 
senden, und empfängt nur jeweils den passenden Bereich. Das ist 
furchtbar ineffizient, aber bei nur so wenig RAM geht es nicht anders.
Mit einem großen µC (dsPIC, M16C, ARM usw.), mit ausreichend RAM 
(>16kByte), kann man die Daten auch in einem Rutsch empfangen, und 
danach die Daten auf die Karte schreiben. Je nach Helligkeit kommt man 
damit auf etwa 0,3 bis >2Bilder pro Sekunde (bei maximaler Qualität, 
also entweder 320x240, min. Kompression, oder 640x480, mittlere 
Kompression).
Mit einem mega32 würde ich aber eher etwas in Richtung 1-5s/Bild 
erwarten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.