Posts Tagged ‘Metadaten’

Erweiterung des Navigationsbaumes

Donnerstag, September 19th, 2013

Auch die letzten 2 Wochen habe ich mit anderen Dingen verbracht, als ich mir ursprünglich vorgenommen hatte. Dafür kann ich stolz verkünden, das mit dem BVASystem nun gezielt nach einzelnen Schlagworten recherchiert werden kann. Außerdem habe ich ein neues Metadaten Element entwickelt, mit dem Fotos einem Fotoalbum zugeordnet werden können, wenn deren Dateinamen einem bestimmten Muster entsprechen. Diese Funktion ist sicher für alle interessant, deren Dateinamen nicht dem Zählmuster von Digitalkameras entsprechen. Zu guter letzt habe ich nach recht langer Pause wieder an der Testanwendung weiterentwickelt, damit ich irgendwann soweit sein werde, die Worker-Funktionen automatisiert zu testen. Mittlerweile ist es zumindest möglich, ein Testbild zu erzeugen und dieses in der Datenbank zu speichern.

Erweiterung des Navigationsbaumes

Das ich dabei bin den Navigationsbaum zu erweitern, war ja bereits in den vorherigen Versionen zu erkennen. Allerdings habe ich vorige Woche mein geplantes Konzept nochmals erweitert und sofort vollständig umgesetzt. Der Navigationsbaum enthielt bereits die Schlagwortkategorien. Neu ist, das nun auch die einzelnen Schlagworte, die mit den Kategorien verknüpft wurden, im Baum angezeigt werden. Bei der Auswahl eines Schlagwortes im Baum werden die Fotos aus der Datenbank ausgewählt, die mit dem Schlagwort verknüpft wurden. Wird eine Schlagwortkategorie ausgewählt, so werden alle die Fotos in die Bildliste übernommen, die mindestens mit einem der Schlagworte der Kategorie verknüpft wurden. Neu ist ebenfalls, das unter dem Eintrag „Schlagworte ohne Kategorie“ alle Schlagworte, die in keiner Schlagwortkategorie genutzt wurden, als Unterknoten hinzugefügt werden. Auch hier können die einzelnen Schlagworte ausgewählt werden, um eine entsprechende Bildliste zu erhalten.

Schlagworte im Navigationsbaum

Schlagworte im Navigationsbaum

Automatische Zuordnungen mit Hilfe des Dateinamens

Beim Testen des BVASystems mit Bildern, die ich zur Nutzung auf meiner Homepage umbenannt hatte, fiel mir auf das es gut wäre, wenn man Fotos, bei denen der Dateiname einem Muster folgt automatisch einem Fotoalbum zuordnen kann. In meinem Beispiel geht es darum, das ich von jedem Bild immer 2 Varianten habe. Eines so wie ihr es euch auf der Homepage angucken könnt und eines welches ich nicht verkleinert habe. Die nicht verkleinerten Fotos kennzeichne ich mit einem „Original“ im Dateinamen. Mit der neuen Funktion ist es mir nun möglich, die Originale automatisch in einem Fotoalbum zu sammeln.

Metadatenelement Dateinamen-Übereinstimmung

Metadatenelement Dateinamen-Übereinstimmung

Ausblick

Bis zum nächsten Versionsupdate werde ich mich nun wirklich darum kümmern, das endlich die blauen Kästchen verschwinden. Die nun bis auch einige Kleinigkeiten fertig implementierte Recherche nach einem bestimmten Schlagwort ist ja bereits ganz gut, aber wenn man kombiniert nach 2 verschiedenen Schlagworten recherchieren möchte, wird es schnell doch recht aufwendig. Daher haben die Funktionen zur Filterung der aktiven Bildliste nun definitiv höchste Priorität. 

Erweiterung des EXIF-Moduls zur Auswertung von GPS-Informationen

Sonntag, Oktober 7th, 2012

In der EXIF Spezifikation sind rund 25 Datenfelder vorhanden, die dazu dienen den Aufnahmeort eines Fotos festzuhalten. So können zum Beispiel geographische Länge und Breite, die Höhe, die Blickrichtung und sogar die Richtung und Geschwindigkeit mit der sich die Kamera während der Aufnahme bewegt hat, im Foto abgespeichert worden sein.

Auch wenn es aktuell noch recht wenige Kameras gibt, die über einen GPS-Empfänger verfügen, habe ich mich trotzdem entschlossen, das das  BVASystem mit diesen Daten umgehen können muß.  Ich halte die Kenntnis über den Aufnahmeort für eine sehr wichtige Information, um ein Foto einem Fotoalbum bzw. sogar einem Schlagwort zuzuordnen. Ich war in der letzten Woche zur Entspannung für ein paar Tage an der Nordsee. Nun könnte ich alle Fotos, die in der Nähe von 54°1′N 8°55′E aufgenommen wurden, dem Album „Friedrichskoog“ zuordnen. Da es mir dort gut gefallen hat und ich wahrscheinlich noch einmal hinfahren werde, ist diese Zuordnung sogar sinnvoller als eine Zuordnung per Aufnahmedatum. Bilder der nächsten Fahrt könnten ohne neue Regel sofort dem Album „Friedrichskoog“ zugeordnet werden. Per Aufnahmedatum ist dies nicht möglich, da ich den neuen Reisetermin ja noch nicht kenne.

Aber soweit ist es noch nicht. In der, ab heute zum Download bereitstehenen Version 2.1.2.51-dev, können vorhandene GPS-Daten aus Fotos extrahiert und auch in der Datenbank abgespeichert werden. Außerdem werden sie in der Bildinformationsansicht auf dem Aufnahmeort-Panel angezeigt.

Außerdem habe ich mal wieder an meiner Lieblingsbaustelle weitergearbeitet. Die oberste Ebene der manuellen Bildbewertung kann nun jederzeit per Strg+1, Strg+2, … und Strg+5 gesetzt werden. Mit Strg+0 kann die vorhandene Bewertung wieder entfernt werden. Diese Shortcuts sind ganz praktisch, wenn man mehrere Bilder schnell bewerten möchte. Zur Visualisierung der Bewertungen habe ich die Einzelbild und Miniaturbildansichten so verändert, das sie dort angezeigt werden. Und auch für die nächste Version habe ich noch eine Idee, wie ich die Bildbewertungsfunktionen verbessern kann. Lasst euch also überraschen.

Neue Miniaturbilderansicht mit Bildbewertungen

Neue Miniaturbilderansicht mit Bildbewertungen

 

Ein besonderer Tag

Mittwoch, Juli 11th, 2012

Heute ist für mich in zweierlei Hinsicht ein ganz besonderer Tag. Zum einen hab ich heute die Ehre, die dritte stabile Softwareversion der Bilddatenbank vorzustellen und zum zweiten habe ich ab heute das BVASystem auf einem zweiten PC im Einsatz. Bisher habe ich ausschließlich auf meinem Entwicklungsrechner mit einer Testdatenbank am und mit dem BVASystem gearbeitet. Dies war natürlich alles andere als optimal, da immer wieder relativ sinnlose Testdaten angelegt wurden. Von dem neuen Rechner, der extra nur für meine eigene Fotosammlung angeschafft wurde, verspreche ich mir, das die Sammlung ohne Störungen geordnet werden kann.  Außerdem hoffe ich, das fehlende Funktionen oder Fehler durch die intensivere Benutzung des Programmes früher auffallen. Nun aber zum für euch wichtigen Teil: Version 2.1.2

BVASystem 2.1.2 - Miniaturbilder

BVASystem 2.1.2 – Miniaturbilder

Welche Neuerungen gibt es am Programm?

Die meiste Zeit hab ich in den letzten Monaten an den Metadatenelementen gearbeitet. Aus dem kleinen Entscheidungsbäumchen ist nun mittlerweile ein richtiger großer Baum geworden. Folgende Metadatenelemente können  jetzt für die automatischen Zuordnungen genutzt werden:

  • Aufnahmedatum
  • Belichtungszeit
  • Blende
  • Brennweite
  • ISO-Empfindlichkeit
  • Verwendete Kamera
  • Besitzer des Bildes
  • Belichtungsbewertung
  • Mittlere Helligkeit
  • Tonwertumfang

Gerade noch mit in die neue Version haben es einige Funktionen geschafft, die ich persönlich bei der täglichen Arbeit sehr vermisst habe. Das BVASystem kann nun genutzt werden, um ausgewählte Fotos in ein anderes Verzeichnis zu kopieren bzw. zu verschieben. Außerdem können Fotos mit einem beliebigen externen Bildverarbeitungsprogramm bearbeitet werden. Auch für Fotos, die sich in der Datenbank befinden, ist dies möglich, da die ausgewählten Bilder in ein temporäres Verzeichnis exportiert werden. Beim Beenden des Programms, werden die temporären Dateien  dann wieder gelöscht.

Leider muss die Konfiguration des externen Bildverarbeitungsprogrammes noch manuell vorgenommen werden. Die „bvasystem.ini“ muss beispielsweise für eine Verknüpfung mit PaintShop Pro 9 um folgende 3 Zeilen erweitert werden:

[IMAGEEDIT]
PROGRAM=C:\Program Files (x86)\Jasc Software Inc\Paint Shop Pro 9\Paint Shop Pro 9.exe
PARAMS=::FILE::

Außerdem neu ist die Bildinformationsansicht. Dort können alle erfassten Bildinformationen eines Fotos betrachtet werden. Innerhalb der aktiven Bildliste kann ähnlich wie in der Einzelbild- oder Filmstreifenansicht navigiert werden. Der jetzige Entwicklungsstand der Bildinformationsansicht ist nicht als endgültig anzusehen. In Zukunft habe ich vor, dem Anwender dort viel mehr Freiräume zu schaffen.

Welche Änderungen stehen als nächstes an?

Aktuell ist es für mich schwierig zu entscheiden, an welcher Stelle ich das Programm als nächstes weiterentwickeln werde. Es schwirren einfach zu viele Ideen in meinem Kopf herum. Fest steht, das ich möglichst bald eine Erweiterung der Datenbankstruktur vornehmen muss. Dafür muss als erstes das Administrationstool erweitert werden, damit sie mit dem Tool durchgeführt werden können.

Die anstehende Datenbankänderung werde ich möglichst umfangreich gestalten, so das eine Reihe von neuen Funktionen umgesetzt werden können, ohne das alle paar Wochen die Datenbankstruktur geändert werden muss.  Als erstes werde ich mich dann sicher um die manuelle und automatische Bewertung von Fotos kümmern. Ziel ist es, ein zusätzliches Sortierkriterium zu schaffen, so das sich die besten Bilder immer am Anfang einer Bildliste befinden. Eine weitere Änderung wird sein, das die wichtigsten IPTC-Datenfelder in der Datenbank gespeichert werden können. Weiterhin ist geplant, das die errechneten Datenfelder (Tonwertumfang und Belichtungsbewertung) ebenfalls in der Datenbank gespeichert werden, damit sie nachträglich einsehbar sind. Zur Anzeige der neuen Datenfelder soll die Bildinformationsansicht weiter ausgebaut werden.

Metadatenelemente: Brennweite und ISO-Empfindlichkeit

Mittwoch, Juni 20th, 2012

Ein letztes mal ist es heute meine Aufgabe, euch über zwei weitere Metadatenelemente, die in der aktuellen Version der Bildverwaltung hinzugekommen sind, zu berichten. Dieses mal sind es die Elemente Brennweite und ISO-Empfindlichkeit. Wie auch beim letzten mal, handelt es sich bei beiden um einfache Elemente, für die ihr nur einen minimalen und maximalen Wert angeben müsst. Ein Zuordnung erfolgt, wenn die Brennweite bzw. die ISO-Empfindlichkeit zwischen den beiden ausgewählten Werten liegt.

Metadatenelemente Brennweite und ISO-Empfindlichkeit

Metadatenelemente Brennweite und ISO-Empfindlichkeit

Ab morgen werde ich mich den neugesteckten Zielen widmen. Das es nun für einige Zeit mehr in Richtung Hilfsmittel zum Bilder sortieren geht, habe ich ja bereits beschrieben. Ich hoffe, das ich damit recht zügig vorankomme, da ich selbst meine Urlaubsbilder sortieren muss.  Sofern es die Zeit noch zulässt, werde ich natürlich weiterhin zusätzlich kleinere Komfortfunktionen implementieren. Dieses mal war ich beispielsweise so fix, das ich gleich mehrere Komfortfunktionen umsetzen konnte.

Die schönste Neuerung liegt meiner Meinung nach in der Miniaturbilderansicht. Wenn die Miniaturbilderansicht den Eingabefocus hat, kann nun mit der Kombination aus „Shift+ Mausrad hoch/runter“ die Größe der Minitaturbilder angepasst werden. Praktisch finde ich es, weil ich nun für einen groben Überblick die Miniaturbilder verkleinern kann. Trotzdem kann ich aber weiterhin bei Bedarf die größeren Miniaturbilder nutzen.

Miniaturbilderansicht in unterschiedlichen Größen

Miniaturbilderansicht in unterschiedlichen Größen

Metadatenelemente: Blende und Belichtungszeit

Montag, Juni 11th, 2012

Mit nur einem Tag Verzug habe ich es heute geschafft, die vor dem Urlaub gesteckten Ziele zu erreichen. In der neuen Version 2.1.1.44-dev der Bilddatenbank BVASystem habe ich diesmal sogar 2 neue Metadatenelemente hinzugefügt. Allerdings muss ich auch gestehen, das es sich um relativ einfache Metadatenelemente handelt. Sowohl die Blende, als auch die Belichtungszeit werden aus dem EXIF-Header der Bilddatei bezogen. Dadurch entfallen hier diesmal auch die großen Erklärungen. Es wird einfach ein Bereich definiert, in dem die Blende bzw. die Belichtungszeit liegen muss, um eine Zuordnung zu erreichen.

Metadatenelemente Blende und Belichtungszeit

Metadatenelemente Blende und Belichtungszeit

Die einzige Schwierigkeit daran lag in der Oberflächengestaltung, denn ich wollte nicht, das ihr beispielsweise 0,000125
eingeben müsstet, wenn ihr eine Belichtungszeit von 1/8000 s gewählt haben wollt. Aber auch eine fest vorgegebene Liste wollte ich nicht implementieren, da fehlende Werte nicht ergänzt werden könnten. Daher habe ich eine weitere Konfigurationsdatei geschaffen, welche alle Listenwerte enthält. Diese Datei wird bei jedem Programmstart eingelesen und bei den Metadatenelementen benutzt. Sollte ich einige Werte nicht bedacht haben, können sie einfach nachgetragen werden. Der Syntax der neuen Konfigurationsdatei „listen.ini“ sollte, so denke ich, leicht verständlich sein.

Welche weiteren Änderungen wurden am Programm umgesetzt?

Außerdem habe ich auch diesmal wieder an der Bildinformationsansicht weitergearbeitet. Neu hinzugekommen ist die Möglichkeit, mehrere Ansichten zu speichern und zwischen ihnen zu wechseln. Außerdem werden die Ansichten in der Größe angepasst, sobald sich die Größe des Programmfensters ändert. Da ihr noch keine eigenen Ansichten anlegen könnt, habe ich 2 Demonstrationsansichten geschaffen, mit denen der Ansichtswechsel getestet werden kann.

Wie geht es weiter?

Die nächste Version der Bildverwaltung wird die letzte sein, in der ich neue Metadatenelemente hinzufüge. Neben der bereits implementierten Blende und Belichtungszeit fehlen nämlich noch die Brennweite und die ISO-Empfindlichkeit, um die wichtigsten EXIF Parameter abzudecken. Außerdem habe ich vor, einige kleinere Korrekturen an der Bildinformationsansicht durchzuführen.

Langfristig hat sich durch meinen Urlaub einiges in der Planung geändert. Meinen aktuellen Plan, dessen Umsetzung nach heutiger Schätzung bis ungefähr Mitte/ Ende August dauern wird, habe ich im Bugtracker eingepflegt. Er beinhaltet hauptsächlich eine Unterstützung bei der ersten Grob-Sortierung, die vor dem Einsatz einer Bildverwaltung durchgeführt werden sollte. In den nächsten Tagen werde ich mindestens einen weiteren Blog verfassen, der meine Ziele genauer erläutern wird.

Manchmal findet man den notwendigen Weitblick erst, wenn …

Donnerstag, Juni 7th, 2012

… man etwas Abstand von einem Projekt bekommt. Genau so erging es mir die letzten 10 Tage, die ich im Urlaub auf Helgoland verbracht habe. Ich weiß nicht genau, ob es der scheinbar grenzenlos weite Blick vom Klippenrandweg oder der Spaß an der Fotographie war, der mich trotzdem gedanklich mit dem BVASystem beschäftigen lies. Es fühlte sich richtig gut an, einmal die kleinen alltäglichen Programmierprobleme zu vergessen, um sich gedanklich mit dem Gesamtkonzept zu beschäftigen.

Helgoland ist für Fotografen ein kleines Paradies.  Landschaftlich ist der rote Buntsandsteinfelsen, aus der die Hauptinsel besteht, sehr reizvoll. Auf der Hauptinsel befindet sich auch das kleinste Naturschutzgebiet Deutschlands: der Lummenfelsen. Der Felsen dient als Brutplatz von Basstölpeln, Trottellummen, Tordalk und Dreizehenmöven. Gerade die Basstölpel bauen ihre Nester bis nah an den Klippenrandweg heran und können sehr gut beobachtet bzw. fotografiert werden. Auch die vorgelagerte Düne ist sehr interessant, denn dort leben die größten freilebenden Raubtiere Deutschlands: die Kegelrobben. Die Robben sind an den Menschen gewöhnt und lassen sich nicht stören, wenn man sich ihnen nähert. Ein Mindestabstand von 30 Metern sollte aber eingehalten werden, um die Tiere nicht zu bedrängen.

Spätestens jetzt wo ich wieder zuhause angekommen bin, ist es die entstandene Bilderflut, die mich nachdenklich stimmt. In den 10 Tagen Urlaub sind rund 4500 Bilder entstanden. Bisher dachte ich, das das BVASystem unbedingt eine Schlagwortfunktionalität benötigt um mit anderen Bildverwaltungen mithalten zu können. Jetzt wo ich mal wieder einen Berg von Fotos vor mir habe, der sortiert werden muss, vermisse ich eher Funktionen, die mich hierbei unterstützen. Sinnvoll wären zum Beispiel Funktionen mit denen auf Dateiebene Bilder kopiert, verschoben oder gelöscht werden können. Schön wäre es, wenn aus dem BVASystem heraus ein Foto einem Bildbearbeitungsprogramm übergeben werden könnte.

Hilfreich wäre auch die, von Nullpointer.at, vorgeschlagene Bewertungsfunktionalität. Ich stelle mir vor, das mehrere Bewertungsstufen vom Anwender definiert werden können und zu jeder Stufe eine Metadatendefinition hinterlegt werden kann. Sicher müssten dafür die vorhandenen Metadatenelemente erweitert werden, denn aktuell sind ja nur 2 bewertende Metadatenelemente integriert. Ziel ist es, das die Fotos selbstständig während des Datenimports bewertet werden. Natürlich wird die Bewertung auch manuell gesetzt bzw. korrigiert werden können. Ich erhoffe mir aber, das durch einen Automatismus viel Arbeit gespart werden kann. Wenn dann nur noch einige hundert Bilder übrig bleiben, kann zum Beispiel an eine Verschlagwortung der Fotos gedacht werden.

Aber auch dieses Vorhaben ist nicht unbedingt leicht, denn ob ein Bild gut ist oder nicht hängt von vielen Faktoren ab. Am Beispiel von fliegenden Basstölpeln möchte ich  zeigen,  das es für einen Menschen leicht ist, ein gutes von einem schlechten Foto zu unterscheiden.  Ob es einen Automatismus geben wird, der mindestens einige der schlechten Fotos hier detektieren kann, werden wir hier in einigen Monaten sehen.

Störrender Vordergrund

Störender Vordergrund

Etwa 5 % meiner Bilder haben einen störenden Vordergrund. Der Vogel fliegt zu dicht an die Klippen heran und kann daher nicht freigestellt werden.

Zweiter Vogel ins Bild geflogen

Zweiter Vogel ins Bild geflogen

In einigen Fällen ist noch ein zweiter oder dritter Vogel ins Bild geflogen während ich fotografiert habe. Durch die große Anzahl der Tiere ist es im Sucher quasi chancenlos dies vorher zu erkennen.

Vogel ist nicht scharf

Vogel ist nicht scharf

Rund die hälfte der Bilder, die nichts geworden sind zeigen einen unscharfen Vogel. Durch die Serienbildfunktion der Kamera häufen sich die unscharfen Bilder zwangsläufig. Passt das erste Bild der Serie nicht, passt die Schärfe auf den restlichen Bildern der Serie auch nicht.

Vogel ist nicht komplett

Vogel ist nicht komplett

Durch die schnellen Bewegen der Tiere war es mir nicht möglich, auf jedem Bild einen kompletten Vogel zu erhalten. Ein Flügelschlag nach unten und schon war die Flügelspitze aus dem Foto.

Gut abgebildeter Vogel

Gut abgebildeter Vogel

Nur rund 20% meiner Flugaufnahmenfotos zeigen eine ähnliche Qualität, wie der hier abgebildete Basstölpel.

Mein persönliches Fazit ist es, das die Verschlagwortung  von Bildern noch warten kann, da ich erstmal die Bildmenge drastisch reduzieren muss. Daraufhin werde ich in den nächsten Tagen meine nächsten kleinen Entwicklungsschritte abstimmen. Nun mach ich mich aber erstmal schnell daran, die noch offenen Tickets der nächsten Programmversion umzusetzen. Denn nur mit einem weiten Blick lassen sich die täglichen Programmierproblemchen nicht lösen.

Metadatenelement: Belichtungsbewertung

Dienstag, Mai 15th, 2012

So langsam mag es etwas langweilig klingen, aber das BVASystem hat heute wieder ein weiteres Metadatenelement erhalten. Für mich ist es allerdings gerade eine spannende Zeit: Mit jedem neuen Metadatenelement wächst die Anzahl der Kombinationen, mit der die einzelnen Elemente verknüpft werden können. Das spannende daran ist, das es aktuell noch nicht absehbar ist, welche der Kombinationen genutzt werden kann, um thematisch zusammengehörige Fotos vom Rest der Bilder zu trennen.

Aber auch diesmal muss ich das Metadatenelement ein wenig erklären, da es wieder ein Element ist, welches vom Programm errechnet wird.

Wie definiert sich die Belichtungsbewertung?

Wie auch der Tonwertumfang basiert die Belichtungsbewertung auf dem Histogramm des Fotos. Im letzen Blog habe ich versucht zu erklären, das ein perfektes Bild alle möglichen Tonwerte nutzt. Es dürfen allerdings keine Farbwerte außerhalb des möglichen Tonwertumfangs liegen. Alle Bildpunkte, die dunkler als der kleinstmögliche Tonwert sind, werden von der Kamera ebenfalls auf den kleinstmöglichen Tonwert gesetzt. Analog gilt das gleiche für Bildbereiche die heller sind, als der größtmögliche Tonwert. Im Bild äußert sich das dadurch, das größere Flächen entstehen, die komplett schwarz bzw. komplett weiß sind. Im Histogramm erkennt man ebenfalls eine Häufung beim kleinstmöglichen bzw. größtmöglichen Tonwert. Für die Belichtungsbewertung zählt das BVASystem nun die weißen bzw. die schwarzen Bildpunkte und setzt sie im Verhältnis zur Gesamtbildgröße. Je mehr Prozent der Bildfläche komplett weiß bzw. schwarz sind, desto größer ist der fehlbelichtete Bildbereich.

Wozu kann sie genutzt werden?

In erster Linie ist die Belichtungsbewertung dazu gedacht, damit fehlbelichtete Bilder erst garnicht in das jeweilige Fotoalbum eingefügt werden. Aber auch der umgekehrte Fall, das nur fehlbelichtete Bilder einem Album zugeordnet werden, erscheint mir sinnvoll, da man beispielsweise so gezielt alle fehlbelichteten Bilder betrachten kann.  So kann man schnell entscheiden, ob das Bild mit Photoshop noch zu „retten“ ist oder ob es besser gelöscht werden sollte. Natürlich kann man die Belichtungsbewertung auch nutzen, um Fotos die bewusst unter- oder überbelichtete Bildbereiche (z.B Sternenhimmel) besitzen von anderen Fotos zu trennen.

Um möglichst viele verschiedene Definitions-Möglichkeiten zu bieten, können auch nur unterbelichtete oder nur überbelichtete Bildbereiche ausgewertet werden. Gerade im Fall des Sternenhimmels wird einem wahrscheinlich nur der unterbelichtete Bildbereich interessieren. Standardmäßig sind bei der Definition des Metadatenelements Belichtungsbewertung unter- und überbelichtete Bildbereich ausgewählt.

Metadatenelement Belichtungsbewertung

Metadatenelement Belichtungsbewertung

Welche weiteren Änderungen wurden am Programm umgesetzt?

In der Bildinformationen-Ansicht hat sich auch einiges getan. Auffällig sollte sein, das sich nun nicht mehr 2 sondern 3 kleine Fensterchen auf der Ansicht befinden. Außerdem sollte auffallen, das jedes dieser 3 Fenster auch eine Funktion hat. Das erste der Fenster dient zur Navigation innerhalb der aktiven Bildliste. Das Foto-Fenster zeigt logischerweise das aktuell aktive Bild an und das Kamera-Fenster zeigt aktuell die EXIF-Daten des Bildes an, wie es auf dem Bildinformationspopup bekannt sein sollte.

Des weiteren habe ich  daran gearbeitet, das alle Funktionen zur Bildveränderung in der ImgFkt.dll ausgelagert sind. Neu ist diesmal, das die Funktion zur Umwandlung eines Bildes in ein Graustufenbild ausgelagert wurde. Scheinbar mag dies zu keiner Änderung für den Anwender führen, aber intern erhalte ich dadurch eine viel klarere Struktur. Und vielleicht ergibt sich auch einmal die Gelegenheit die Funktionsbibliotek für ein anderes Projekt zu verwenden.

Wie geht es weiter?

Weiterarbeiten werde ich nun an 2 weiteren Metadatenelementen, deren Umsetzung sich einfacher gestalten dürfte. Es geht dabei um die Blende und die Belichtungszeit, die von der Kamera in der Bilddatei abgelegt wurde. Mein Ziel ist es dabei, zu ermöglichen, Fotos, bei deren Aufnahme ähnliche Lichtbedingungen herschten, zu filtern.

Die Schwierigkeit bei der Entwicklung der beiden Metadatenelemente liegt ganz klar in der Benutzeroberfläche. Sowohl Blende als auch Belichtungszeit werden in der Bilddatei als reine Gleitkommazahl gespeichert. Angezeigt wird die Belichtungszeit aber  beispielsweise als  „1/250 sec“ und nicht als  „0,004 sec“. Ich muss also einen Weg finden, wie die Belichtungszeit für den Anwender bequem eingstellt werden kann,.

Außerdem werde ich wieder an der Bildinformationsansicht weiterarbeiten. Diesmal wird es darum gehen, das der Anwender zwischen verschiedenen Ansichten wechseln kann. Außerdem möchte ich die Funktion zur Definition eigenener Ansichten vorbereiten.

Metadatenelement: Tonwertumfang

Dienstag, Mai 1st, 2012

Aktuell fühlt es sich so an als wenn die Zeit rast, denn schon wieder ist es an der Zeit, eine weitere Entwicklerversion des BVASystems zu veröffentlichen.  Auch diesmal gibt es wieder ein ganz besonderes neues Metadatenelement, denn mit dem Tonwertumfang können Bilder nun auch erstmals bewertet werden. Bevor ich darauf aber weiter eingehe, werde ich kurz erläutern, was der Tonwertumfang überhaupt ist.

Was ist der Tonwertumfang eines Bildes?

Der Tonwertumfang eines Bildes gibt an, wieviele Farbinformationen (Tonwerte) ein Bild besitzt. Ein Graustufenbild mit einer Farbtiefe von 8bit besitzt beispielsweise 2^8 = 256 mögliche Grautöne. Werden von diesen 256 möglichen Grautönen nur die Hälfte (128) im Bild genutzt, so beträgt der Tonwertumfang 50%.

Ein ideales Bild nutzt alle möglichen Tonwerte. Generell ist es so, das je weniger Tonwerte ein Bild nutzt, desto kontrastärmer bzw. flauer wirkt es. Daraus folgt nun auch der bewertende Charakter des Tonwertumfangs. Je kleiner der Tonwertumfang eines Bildes ist, desto weiter ist das Foto von einem idealen Bild entfernt und desto „schlechter“ ist das Bild. Aber Vorsicht: Eine generelle Aussage, ob das Bild schlecht ist, ist nicht möglich, da ein reduzierter Tonwertumfang auch als gestalterisches Mittel eingesetzt werden kann.

Wie wird der Tonwertumfang innerhalb der Metadaten umgesetzt?

In der Metadatendefinition gibt man für den Tonwertumfang eine untere und obere Grenze an. Liegt der Tonwertumfang des Fotos zwischen den beiden Grenzen, so wird das Bild dem Album zugeorndet. Damit wird ein recht guter Freiheitsgrad erreicht, da sowohl gute Bilder (Beispielsweise Tonwertumfang zwischen 80% und 100%) als auch schlechte Bilder (Beispielsweise Tonwertumgang zwischen 0% und 25%) zugeordnet werden können. Wie immer lassen sich weitere Elemente mit dem Tonwertumfang kombinieren, so dass dann alle Elemente erfüllt sein müssen. Auch kann das Metadatenelement Tonwertumfang mehrfach genutzt werden, um mehrere Tonwertbereiche abzudecken.

Metadatenelement Tonwertumfang

Metadatenelement Tonwertumfang

Welche Änderungen gibt es außerdem an der Bilddatenbank?

Neben dem neuen Metadatenelement habe ich damit begonnen, einen vierten Ansichtsmodi in das Programm zu integrieren. Der neue Modus soll dazu genutzt werden, um die erfassten Informationen zu einem Bild anzuzeigen. Aktuell stört es mich schon sehr, das nicht einsehbar ist, wie groß beispielsweise der Tonwertumfang eines Fotos ist. Ein überprüfen, ob die Zuordnung zu einem Fotoalbum formal korrekt gewesen ist, ist also leider noch nicht möglich. Aktuell ist ein Stand erreicht, in dem 2 kleine Bildinformationsfenster ein- und auch wieder ausgeblendet werden können. Da noch keinerlei Informationen in diesen Fenstern stehen, ist der Nutzen des ganzen quasi noch nicht vorhanden.

Wie gehts weiter?

Heute abend werde ich daher gleich an dieser Ansicht weiterentwickeln. Ziel ist es, das zumindest ein Teil der aktuell erfassten Informationen visualisiert werden können. Sobald die Ansicht für den Anwender einen Nutzen hat, werde ich mein Konzept hinter dieser Ansicht näher erläutern. Außerdem werde ich in den nächsten Wochen wieder ein neues Metadatenelement implementieren. Auch dieses wird wieder einen bewertenden Charakter haben.

Fokus Hauptfunktionalität

Montag, April 16th, 2012

Meiner Roadmap ist seit einigen Wochen zu entnehmen, das ich mich nun, nachdem ich mich die letzten Monate viel mit Datenbanksystemen rumgeärgert habe, wieder verstärkt der Hauptfunktionalität des BVASystems, den Metadaten, widmen werde. Dies erscheint mir sinnvoll, da sich das BVASystem gerade in diesem Punkt von anderen Bildverwaltungsprogrammen unterscheidet. Geplant ist, die automatische Zuordnung von Bildern zu Fotoalben soweit auszubauen, dass auch komplexere Bedingungen definiert und genutzt werden können. Die bereits vorhandenen Elemente „Aufnahmedatum“, „Besitzer des Bildes“ und „Verwendete Kamera“ funktionieren zwar schon ganz gut, lassen aber eben nur simple Entscheidungen zu, da sie sich kaum kombinieren lassen.

Aktuell ist mein Ziel zu demonstrieren, was mit dem Metadatensystem alles erreicht werden kann. Dafür ist es natürlich am wichtigsten, weitere Metadatenelemente zu schaffen, die beliebig mit den bereits vorhandenen Elementen kombiniert werden können. Langfristig möchte ich die Metadaten noch an andere Verwaltungselemente, wie zum Beispiel die Schlagworte, binden.

Den ersten abgesteckten Entwicklungsschritt habe ich nun auch bereits erreicht. Das Metadatenelement „Mittlere Helligkeit“ ist in der Version 2.1.1.41 nun zum ersten Mal enthalten. Das Besondere dabei ist, dass der Helligkeitswert nicht aus dem Header des Fotos ausgelesen werden kann. Es handelt sich vielmehr um einen Wert, der direkt aus dem Foto errechnet wird. Das BVASystem ist damit also in der Lage, helle und dunkle Fotos zu unterscheiden.

Weiterhin habe ich das Metadatenelement „Aufnahmedatum“ verbessert, in welchem nun auch die Uhrzeit eingestellt werden kann. Bisher war es so, das man nur tageweise definieren konnte. War man beispielsweise vormittags wandern und nachmittags auf einer Familienfeier, waren die Fotos automatisch nicht voneinander trennbar. Nun können auch beliebig viele Fotoalben angelegt werden, welche alle Fotos enthalten, die an dem gleichen Tag aufgenommen wurden.

Veränderte Metadatenelemente der Version 2.1.1.41-dev

Veränderte Metadatenelemente der Version 2.1.1.41-dev

Als dritte kleine Verbesserung habe ich die Metadatenelemente in der Auswahlliste gruppiert. Damit sollte es, auch wenn es mal mehrere Dutzend Metadatenelemente werden, trotzdem übersichtlich bleiben. Die 3 nun verwendeten Gruppen lauten:

  • EXIF: Hier werden alle Elemente zusammengefasst, die auf dem EXIF-Header eines Fotos basieren
  • DB: Hier werden alle Elemente zusammengefasst, die sich direkt aus der Datenbank ableiten lassen
  • BV: Hier werden alle Elemente zusammengefasst, die mittels Bildverarbeitung direkt am Foto errechnet werden

Auch in der nächsten Version werde ich mich um die Metadaten kümmern. Ziel ist es das erste bildbewertende Metadatenelement zu schaffen. Damit soll es dann möglich sein, das nur gelungene Bilder den Weg in ein Fotoalbum finden. Außerdem werde ich damit beginnen, einen vierten Ansichtsmodi „Bildinformationen“ in das Programm zu integrieren.

Erweiterung des Exif-Moduls

Donnerstag, Dezember 22nd, 2011

Ich hatte ja kaum damit gerechnet, aber ich habe es doch tatsächlich geschaft, in diesem Jahr noch eine Entwicklerversion fertigzustellen. Die Fertigstellung der stabilen Softwareversion war genau der Motivationsschub, den ich gebraucht habe. Es macht doch deutlich mehr Spaß, etwas neues zu entwickeln als immer nur Fehler zu suchen und zu korrigieren. Dies nun wird aber die definitiv letzte Version des Jahres sein, denn viel Zeit ist ja nicht mehr und die Feiertage möchte ich ehrlich gesagt nicht am Rechner verbringen.

Was wurde neu implementiert?

Wie bereits angekündigt, war das Ziel für diese Version, das die ungenutzen EXIF-Datenbankfelder genutzt werden. Dazu wurde als erstes natürlich das EXIF-Modul angepasst, welches die entsprechenden Daten aus dem Header ausliest. Außerdem wurden die internen Datenkomponenten so angepasst, das neuen Informationen nach dem Auslesen im Speicher gehalten werden können. Dort stehen die Informationen für zukünfige Erweiterungen am Programm jederzeit zur Verfügung. Die dritte Änderung erfolgte beim Bildimport, denn hier werden die neuen Datenbankfelder gefüllt.

Um nicht nur unsichtbare Änderungen zu programmieren, habe ich noch die Metadatenzuordnungen erweitert. Es kann nun den zusätzlichen Metadatentyp „Verwendete Kamera“ für die automatischen Zuordnungen genutzt werden.

Metadaten mit neuem Metadatentyp "Verwendete Kamera"

Metadaten mit neuem Metadatentyp "Verwendete Kamera"

Was kommt als nächstes?

Eigentlich habe ich vor, als nächstes größere Änderungen an der Oberfläche vorzunehmen. Die neu hinzugekommenen EXIF-Datenfelder müssen in der Oberfläche angezeigt werden. Dazu möchte ich der Miniaturbilder und Filmstreifenansicht, bei dem „Bild markieren“ Knopf einen weiteren Knopf hinzufügen. Durch diesen soll sich ein PopUp-Dialog öffnen, auf dem die EXIF-Daten angezeigt werden. Außerdem soll neben den 3 bekannten Ansichten eine vierte Ansicht hinzukommen,  auf der alle gespeicherten Daten zu einem Bild angezeigt werden. Hier soll im Gegensatz zu dem PopUp-Dialog eine Navigation innerhalb der aktiven Bildliste möglich sein.

Diese Änderungen werden aber wohl etwas nach hinten verschoben, da ich aller Wahrscheinlichkeit nach meine Entwicklungsumgebung auf den neusten technischen Stand bringen will. Mein Delphi 2005 ist mittlerweile bald 8 Jahre alt und es ist wohl von Vorteil, wenn man es durch etwas zukunftssicheres ersetzt. Ich habe in der letzten Woche bereits kurz erfolgreich getestet, ob eine Umstellung auf das neue Delphi XE2 prinzipell machbar ist. In den nächsten Wochen werde ich berichten, zu welchen Veränderungen der Wechsel beim BVASystem führt. Ich hoffe, das ich bei der Umstellung nicht auf allzuviele Probleme treffe und ich mich dann schnell wieder auf die eigentliche Weiterentwicklung konzentrieren kann.