Bildverarbeitung
-
Hallo,
nachdem ich einige Verfahren der Bildverarbeitung in der Theorie gehabt habe juckt es mir in den Fingern es auszuprobieren.
Leider klappt es schon an der ersten Hürde nicht. Ich bin auf der Suche nach einem Bild-Datei-Format welches ich ohne viel hin und her in ein 2 dim. Array packe.
Hat da jemand schon was gemacht?
Danke
-
Das einfachste, was mir auf die Schnelle einfällt, ist Bitmap - abgesehen vom Header kannst du den Rest als großes Array interpretieren.
-
Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ (auch C++0x) in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
tga ist recht simpel, du liest 18byte fuer den header ein, schaust ob 16/24/32 bit, allokierst anhand von width und height dein 2d array und laedst es pixel fuer pixel ein.
(kompression und 8bit formate solltest du beim speichern deiner TGA erstmal weglassen, damit es einfach bleibt).
-
CStoll schrieb:
Das einfachste, was mir auf die Schnelle einfällt, ist Bitmap - abgesehen vom Header kannst du den Rest als großes Array interpretieren.
Nein, bmp hat ne relativ umständliche Formatierung, wenns nicht durch 4 teilbar ist.
http://de.wikipedia.org/wiki/Portable_Pixmap ist einfacher.
-
mnbvmgfnbcv schrieb:
CStoll schrieb:
Das einfachste, was mir auf die Schnelle einfällt, ist Bitmap - abgesehen vom Header kannst du den Rest als großes Array interpretieren.
Nein, bmp hat ne relativ umständliche Formatierung, wenns nicht durch 4 teilbar ist.
Klar mußt man daran denken, aber die paar Padding-Bytes würde ich jetzt nicht als "umständlich" bezeichnen.
-
Wenn du die Bilder wirklich selbst lesen & schreiben willst, hast du ja bereits ein paar Vorschläge.
Sonst würde ich eine Library ala FreeImage oder DevIL empfehlen. Damit kannst du relativ einfach verschiedene Bildformate lesen und in eine passende Form bringen.
Oder gleich OpenCV, damit kann man IIRC auch Bilder aus Dateien laden. Und OpenCV bringt auch noch einige Algorithmen zur Bildverarbeitung mit, so dass man sich nicht alles selbst programmieren muss.
-
Jo, Danke für die vielen Tipps. Ich glaube da ist was dabei.
Fetten Dank