Guten Morgen zusammen :D Ich möchte eine JPG Array in ein BMP Array umwandeln. Kennt jemand eine gute Library welche mir das machen kann? Ich brauche das Bitmap-Array um das Bild an einem Display anzeigen zu können, das JPG-Array erhalte ich von einem kleinen Kameramodul. Ich muss also nur die Umwandlung von JPG-Array ins BMP-Array vornehmen, der rest funktioniert bereits. Danke schon im voraus für jegliche Hilfe Mit freundlichen Grüssen ME:D
Moin, Hab's noch nicht selbst gemacht, aber ich haett' erstmal die libjpeg im Verdacht, das zu koennen. Soll das auf der Zielhardware (welcher) laufen oder aufm PC - da waere ImageMagick eine Moeglichkeit? Gruss WK
Dergute W. schrieb: > Soll das auf der Zielhardware (welcher) laufen > oder aufm PC Schlussundendlich möchte ich das BMP-Array an einem Display anzeigen, die Hardware wurde soweit fertig gestellt. Mir fehlt nur noch die Umwandlung vom JPG-Array ins BMP-Array. guest schrieb: > libjpeg.sourceforge.net > > https://github.com/nothings/stb Danke, aber wie wäre es mit einer kleinen Beschreibung?
Bonnard schrieb: > Danke, aber wie wäre es mit einer kleinen Beschreibung? Bitte schön: Beides Links enthalten Source Code zum Dekodieren von JPEG inklusive Dokumentation. Genau so hilfrfeich wie Deine Beschreibung vom Projekt übrigens, wenn der µC/SOC zu klein gewählt wurde scheitert JPEG Dekodierung am RAM oder an Perfromance.
Moin, Bonnard schrieb: > Schlussundendlich möchte ich das BMP-Array an einem Display anzeigen, > die Hardware wurde soweit fertig gestellt. Mir fehlt nur noch die > Umwandlung vom JPG-Array ins BMP-Array. Achso, ja dann isses ganz klar. Also ein Display. Aha - interessant; die Hardware auch schon fertig. Super! Ja, logo - einfach nur noch das JPG-Array umwandeln. Ist ganz simpel. Nee - ist eh' klar, ne....Kein Ding und so. SCNR, WK
Jim M. schrieb: > Genau so hilfrfeich wie Deine Beschreibung vom Projekt übrigens, > wenn der µC/SOC zu klein gewählt wurde scheitert JPEG Dekodierung am RAM > oder an Perfromance. uP ist STM32, denke nicht das dieser zu "schwach" ist.
... na ja, wenn die Konvertierung im Controller machen magst, muß mindestens das JPEG und das BMP im RAM gehalten werden.... Je nachdem welchen STM32 du nutzt kann das schon mal sehr eng werden.....
Also das klingt so, als ob das schon irgendwer gemacht hat. Die Suche im Internet hat nichts gebracht? Beitrag "jpg mit STM32 dekodieren" https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex%5fmx%5fstm32%2fJPEG%20decompression%20to%20BMP&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=674 ...
Ralph S. schrieb: > ... na ja, wenn die Konvertierung im Controller machen magst, muß > mindestens das JPEG und das BMP im RAM gehalten werden.... Je nachdem > welchen STM32 du nutzt kann das schon mal sehr eng werden..... Oke, also habe den STM32F407 verlötet, was denkst du? reicht das?
.-. schrieb: > du bist ja sehr sparsam mit deinen Infos... uP: STM32F407 Display: NHD-2.4-240320 Kamera: Mini TTL Serial JPEG von Adafruit (leider keine genaue Angabe, jedoch ist hier das Datasheet --> https://cdn-shop.adafruit.com/product-files/1386/1386+v2+datasheet.pdf) Sonst noch was? Nun zurück zur Frage, kennt jemand eine gute und einfach zu verstehende Library zur Umwandlung von JPG-Arrays in Bitmap-Arrays? Wäre euch sehr dankbar:) Mfg Bonnard P.
http://www.elm-chan.org/fsw/tjpgd/00index.html Ich hab damit noch nicht gearbeitet, aber die Projekte vom Meister Chan aus dem fernen Osten stehen immer für sehr gute Qualität. Sajonara
Falk B. schrieb: > http://www.elm-chan.org/fsw/tjpgd/00index.html > > Ich hab damit noch nicht gearbeitet, aber die Projekte vom Meister Chan > aus dem fernen Osten stehen immer für sehr gute Qualität. > > Sajonara oke danke, werd mich da mal ein bisschen schlau machen :D
Bonnard schrieb: > Nun zurück zur Frage, kennt jemand eine gute und einfach zu verstehende > Library zur Umwandlung von JPG-Arrays in Bitmap-Arrays? Liest du überhaupt, was man dir antwortet? mar IO schrieb: > Beitrag "jpg mit STM32 dekodieren" In diesem Beitrag werden 2 kleine Libraries erwähnt, die ganau dafür gedacht sind. Und niemand wird probieren, dir was fertiges zu schreiben für einen Controller, der nur 64k CCRAM hat und 128k normalen RAM - Viel Spass dabei. Mein Tipp wäre, das du erstmal die 128k komplett von allen anderen Variablen freiräumst, die du in den CCRAM verlegst. Ob dann 128k ausreichen, darin ein JPG in RAW zu entpacken und dann auf den Schirm zu werfen, wirst du wohl ausprobieren müssen. Ein STM32F429 wäre da wohl ein wenig geeigneter, zumal da ein LCD Interface schon bei ist. Und das Disco F429 hat sogar schon dicken SDRAM onboard.
Moin, Oha, kaum dass man mit einer Hilti arbeitet, dann lassen sich sogar hydraulisch einzelne getrocknete Trauben aus Riechorganen ziehen. Neben den Loesungen, die scheinbar schon direkt fuer den Prozessor existieren, waere es eine ganz verrueckte Idee, z.b. bei der libjpeg einfach mal in das File mit dem hochverdaechtigen Namen example.c zu gucken. Da koennte man dann sogar Kommentare wie den folgenden (steht ungefaehr in Filemitte ) erblicken:
1 | /******************** JPEG DECOMPRESSION SAMPLE INTERFACE *******************/
|
2 | |
3 | /* This half of the example shows how to read data from the JPEG decompressor. |
4 | * It's a bit more refined than the above, in that we show: |
5 | * (a) how to modify the JPEG library's standard error-reporting behavior; |
6 | * (b) how to allocate workspace using the library's memory manager. |
7 | *
|
8 | * Just to make this example a little different from the first one, we'll |
9 | * assume that we do not intend to put the whole image into an in-memory |
10 | * buffer, but to send it line-by-line someplace else. We need a one- |
11 | * scanline-high JSAMPLE array as a work buffer, and we will let the JPEG |
12 | * memory manager allocate it for us. |
Also: Man muss evtl. garnicht die komplette, unkomprimierte Bitmap im Speicher halten; wenn das Display nicht regelmaessig refresht werden muss. Gruss WK
Hast du es noch immer nicht hinbekommen?! Beitrag "Bild an TFT Display anzeigen" Beitrag "Bilddatei in Array schreiben/speicher"
Bonnard schrieb: > Ich möchte eine JPG Array in ein BMP Array umwandeln .-. schrieb: > du bist ja sehr sparsam mit deinen Infos... immer noch, kein einziges Wort über die Bildgröße! soweit ich weiss arbeitet JPG mit 24-bit Farben, das BMP erwartet pro Pixel ähnliches :) Wenn also nicht mal die Bildgröße genannt wurde, wie soll man da den RAM Bedarf nur fürs BMP abschätzen? X-pix Y-pix 3 Byte fürs BMP + Header
Joachim B. schrieb: > immer noch, kein einziges Wort über die Bildgröße! Sei mal etwas beweglicher! Der Unterhaltungswert des Threads ist doch viel höher, wenn du etwas rätseln musst. Und außerdem ist Freitag :-) Das Display hat 320*240 Pixel und die Kamera kann man auch auf dieses Format zwingen. Also wird es das wohl sein. Das BMP kann er sofort nach Umwandlung einer JPG-Gruppe (8 Zeilen) stückweise raus schieben. Nur das JPG wird er komplett zwischenspeichern müssen, da die Kamera das seriell per RS232 raus wirft. Ich mach noch mal einen Eimer Popcorn.
Draco schrieb: > Hast du es noch immer nicht hinbekommen? Wenn du so gut bist, da mach es gerade... Wenn du nicht helfen willst, gerne Klappe halten.! Danke
Bonnard schrieb: > Draco schrieb: >> Hast du es noch immer nicht hinbekommen? > > Wenn du so gut bist, da mach es gerade... > > Wenn du nicht helfen willst, gerne Klappe halten.! Danke Entschuldige mal, du machst drei verschiedene Threads auf, kommst mit keinen Info. Und nein... Ich würde es nicht machen, weil es dafür ganz andere Ansätze gibt. Wo sind denn die ganzen Infos? Wo ist denn deine Bereitschaft auf das obig genannte einzugehen? Sorry, ich bin raus!
kommt halt drauf an was mit dem Bild alles passieren soll ... nur Anzeigen geht wohl mit der Lib Line by Line, dann nur noch ans LCD raus schieben. Das JPG musser halt puffern. Wenn da noch z.B. Filter angewendet werden sollen wirds da dann enger. Hab sowas vor Jahren mal mit nem Mega32 gemacht und Sobel-Filter für Objekterkennung drüber laufen lassen ... ging, aber nur weil ich extern n EDO-RAM Riegel drangehängt habe.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.