Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
09.12.2008, 21:12
Krifitze



N’Abend

Ausgangssituation: Es gibt ein Verzeichnis mit Bilddateien, hauptsächlich JPEG; ich möchte aber nicht ausschließen, dass es auch andere Formate sein können. Aus den Daten aus dem Verzeichnis wird eine Liste erstellt. Beim Ablegen einer neuen Datei in das Verzeichnis soll die Liste entsprechend erweitert werden. Datenbanken etc. stehen nicht zur Verfügung.

Zu den Bildern gehören aber noch ein paar Informationen, z.B. Vor- und Nachname(n) des Abgebildeten, Nationalität, eMail und Alter. Diese Infos sollten dabei »in« den Dateien enthalten sein. Der Name lässt sich zwar noch in dem Dateinamen unterbringen, aber die anderen Infos eher nicht – sowas wie Max_Mustermann~deutsch~32~max@mustermann.de.jpg ist dann doch leicht scheiße.
Meine Idee war, die Daten in einem »Kommentar« im JPG-Header unterzubringen (Kommentar wird per PS/Gimp geschrieben); aber ich weiß nicht, ob es da einen Standard gibt, auf den man aufbauen kann, oder ob da jedes Grafikprogramm sein eigenes Süppchen kocht. Mir steht nur Gimp zur Verfügung, ich kann mich bisher also nur danach richten.

Und falls dann noch andere Formate mitspielen, beispielsweise PNG, wie sieht das dann da aus?

Oder wie könnte man das Ganze noch anders lösen?
Es wäre schön, wenn mir jemand eine Auskunft geben könnte, ob man mit Photoshop einen solchen Kommentar genauso speichern kann wie mit Gimp.

MfG,
Krifitze

--

Website

zum Seitenanfang zum Seitenende Profil || Suche
001
09.12.2008, 22:30
Bluthund



Also zumindest vom JPEG-Standard kann ich dir sagen, dass es da ne einheitliche Regelung gibt. Da gibts die Möglichkeit einen Kommentarblock direkt in die Datei zu packen.
Wie bei allem was Formate betrifft: http://www.wotsit.org
Da gibts auch den JPEG-Standard der ITU. Dort hast den Aufbau drin, in Abschnitt B.2.4.5 steht wie nen Comment einzufügen ist.
Auslesen ist dann eigentlich auch trivial:
1. Marker einlesen
2. Länge des Blocks einlesen
3. wenn Marker != Comment Datenblock überspringen und weiter bei 1. sonst 4.
4. Block einlesen und Daten verwenden
Und da sag nochmal einer man bräuchte die Vorlesungen zum JPEG-Format nicht ^^

PNG bietet es soweit ichs beim Überfliegen mitbekommen habe auch:
http://www.libpng.org/pub/png/spec/iso/index-object.html#11textinfo
Hab mich damit noch nich beschäftigt aber sollte ähnlich machbar sein. Da lohnt sich bestimmt auch ein Blick in die libpng.

Falls du vorhast die mit Metadaten versehenen Bilder irgendwo zugänglich zu machen, würde ich mir überlegen wie es mit dem Thema Datenschutz aussieht.

Für was für ne Art Applikation ist das ganze denn gedacht? Du sagst keine DB verfügbar, schonmal über SQLite nachgedacht?

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 09.12.2008 um 22:53 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
11.12.2008, 12:16
J_Hannes



#edit das wahr müll

--

Heut' debug ich morgen brows' ich übermorgen cast' ich die Königin auf int
http://doubledtown.myminicity.com/


Dieser Beitrag wurde am 11.12.2008 um 12:19 von J_Hannes bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
11.12.2008, 17:49
scus



Wie wärs mit EXIF?

--

sincères amitiés scus
--
Tand, Tand ist das Gebilde von Menschenhand

zum Seitenanfang zum Seitenende Profil || Suche
004
11.12.2008, 20:19
Krifitze



Zitat:
Wie bei allem was Formate betrifft: http://www.wotsit.org
Da gibts auch den JPEG-Standard der ITU. Dort hast den Aufbau drin, in Abschnitt B.2.4.5 steht wie nen Comment einzufügen ist.
Danke, kannte die Site noch nicht.

Zitat:
Falls du vorhast die mit Metadaten versehenen Bilder irgendwo zugänglich zu machen, würde ich mir überlegen wie es mit dem Thema Datenschutz aussieht.
Sämtliche Daten werden natürlich nur mit dem Einverständnis der jeweiligen Personen publiziert – oder worauf wolltest du hinaus?

Zitat:
Für was für ne Art Applikation ist das ganze denn gedacht? Du sagst keine DB verfügbar, schonmal über SQLite nachgedacht?
Für’s Web. Eigentlich möchte ich die Bild- und Metadaten schon in einer Einheit haben, da die Dateien öfter via ftp hin- und hergeschoben und in neue Verzeichnisse gepackt werden. Dies mit einer Datenbank zu lösen, übersteigt mein derzeitiges Können, zumal ich da nicht einmal einen Ansatz hätte, wie ich die Files dann identifizieren könnte.

Zitat:
Wie wärs mit EXIF?
Exif ist doch für DigiCams, ich bin aber keine. Soweit ich weiß werden damit Kamera-Informationen wie Brennweite etc. gespeichert. Oder sehe ich das falsch?

--

Website

zum Seitenanfang zum Seitenende Profil || Suche
005
11.12.2008, 21:14
Bluthund



Zitat:
Krifitze postete
Sämtliche Daten werden natürlich nur mit dem Einverständnis der jeweiligen Personen publiziert – oder worauf wolltest du hinaus?
Das meinte ich. Denn auch wenn die Daten in der Datei sind und nicht auf den ersten Blick öffentlich erscheinen, sind sie es eben doch =)

Zitat:
Für’s Web. Eigentlich möchte ich die Bild- und Metadaten schon in einer Einheit haben, da die Dateien öfter via ftp hin- und hergeschoben und in neue Verzeichnisse gepackt werden. Dies mit einer Datenbank zu lösen, übersteigt mein derzeitiges Können, zumal ich da nicht einmal einen Ansatz hätte, wie ich die Files dann identifizieren könnte.
Zum Identifizieren wäre Hashing sicherlich gut geeignet (wenn es die Datenmengen erlauben). Ich werf mal einfach md5 als einen der bekannten und weit verbreiteten in den Raum. Da müsste man sich natürlich was überlegen wie man mit möglichen Kollisionen umgeht (falls gegeben ist, dass keine Umbenennung der Dateien passiert, sollte ne Kombination aus Hash + Dateiname nen relativ sicheren Schlüssel zum indizieren der Daten bieten).

Das Konzept Metadaten+Bild als eine Einheit zu haben, könnte einem aber auch auf die Füße fallen, falls sich die Anforderungen ändern und die Daten nur noch unter bestimmten unterschiedlichen Voraussetzungen (Szenario bspw: Bild für alle, Daten nur für angemeldete Mitglieder oä) zugreifbar sein sollen. Dann würden - gegeben der Umstand, dass es jmd mitbekommt, dass alle Metadaten in den Imagefiles stehen - die Datenschützer (zurecht) Sturm laufen. Das is natürlich nur der worst-case (Anforderungsänderung).

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 11.12.2008 um 21:16 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
11.12.2008, 21:27
caedes



kollisionen bei md5? kriegt man höchstens, wenn man sie provoziert, oder?

--

caedes

Deutschland rückt nach Einschätzung der Sicherheitsbehörden im Superwahljahr verstärkt ins Visier von Terroristen.

zum Seitenanfang zum Seitenende Profil || Suche
007
11.12.2008, 21:47
Bluthund



Gut möglich, nich mein Fachgebiet :) Ich hätte wohl "theoretisch möglich" schreiben sollen (aber lieber "safe than sorry")...

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 11.12.2008 um 21:53 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
12.12.2008, 12:59
scus



Zitat:
Krifitze postete[...]

Zitat:
Wie wärs mit EXIF?
Exif ist doch für DigiCams, ich bin aber keine. Soweit ich weiß werden damit Kamera-Informationen wie Brennweite etc. gespeichert. Oder sehe ich das falsch?
Naja, theoretisch schon, aber es ist standardisiert und es gibt sicherlich einige Bibliotheken, die du verwenden könntest, die Daten zu speichern.

Vllt. könnte dir auch http://de.wikipedia.org/wiki/IPTC-NAA-Standard und/oder http://de.wikipedia.org/wiki/Extensible_Metadata_Platform helfen.

--

sincères amitiés scus
--
Tand, Tand ist das Gebilde von Menschenhand

zum Seitenanfang zum Seitenende Profil || Suche
009
31.12.2008, 12:53
Krifitze



Nach längerer Pause habe ich mich wieder mit dem Thema beschäftigt, und denke, eine Datenbank wäre durchaus die bessere Lösung.

Wie sähe denn eine professionelle Herangehensweise mit Hashing aus? Oder gibt es für mein Vorhaben schon irgendwelche fertigen Systeme, denn eigentlich bin ich nicht so der Typ, der das Rad jedes Mal neu erfinden möchte -- zumal sich meine “Programmierfähigkeiten” auf Shellscripts und jQuery begrenzen lassen.

--

Website

zum Seitenanfang zum Seitenende Profil || Suche