Bewertungssystem für Fotos

Verfasst am: Donnerstag, 02. Aug. 2012 um 22:13

Eigentlich hatte ich geplant, nur fix eine einfache Bildbewertungsfunktionalität in das BVASystem zu integrieren. Nach einigen Überlegungen ist daraus nun allerdings ein recht komplexes System entstanden, welches ich heute hier vorstellen möchte. Die Umsetzung wird leider noch einige Zeit dauern, aber ein erster Entwurf der dazugehörigen Oberflächenkomponente ist bereits fertig.

Prototyp der Bildbewertungsansicht

Prototyp der Bildbewertungsansicht

Grundlage für mein Bewertungssystem ist das weit verbreitete „Sternchen“-Bewertungssystem. Schlechte Bilder werden mit einem Stern und gute Bilder mit maximal 5 Sternen bewertet. Vorteil der Sternchen ist ganz klar, das die Bewertung sehr schnell gesetzt werden kann. Nachteilig ist allerdings, das die Bewertung rein subjektiv aus dem Bauch heraus getroffen wird. Mein Ziel war es, eine objektivere Möglichkeit zu finden, ohne den einfachen Ansatz zu verlieren.

Daher habe ich die Bewertung um Unterkategorien, die wiederum Unterkategorien enthalten, erweitert.  Alle Bewertungen habe ich in einer Baumstruktur angeordnet, so das die Zusammengehörigkeit der einzelnen Kategorien ersichtlich wird.  Als Anwender erhält man 2 Möglichkeiten. Entweder man gibt dem Bild, wie bisher, zwischen 1 und 5 Sternen oder man bewertet alle Unterunterkriterien getrennt voneinander. Im ersten Fall wird für alle Unterkriterien und Unterunterkriterien vom Programm der gleiche Wert gesetzt, wie er vom Anwender ausgewählt wurde. Legt man die Unterkriterien einzelnd fest, so werden die übergeordneten Werte automatisch durch Mittelwertbildung bestimmt.

Für mich habe ich eine Reihe Kriterien festgelegt, mit denen ich wohl gut zurecht kommen werde. Allerdings glaube ich nicht, das jeder Anwender meine Kriterien übernehmen möchte. Aus diesem Grund stelle ich es mir so vor, das der Anwender mit dem Administrationstool im gewissen Rahmen festlegen kann, wie viele Kriterien er nutzen möchte und wie diese beschriftet werden sollen. Festgelegt habe ich mich auf maximal 5 Unterkriterien, die mit jeweils maximal 6 Unterunterkriterien versehen werden können.

In einem weiteren Artikel werde ich in den nächsten Tagen die Standard-Bildbewertungskriterien, die auf dem Screenshot oben bereits zu sehen sind, vorstellen.

Datenbankaktualisierungen mit dem Administrationstool

Verfasst am: Dienstag, 24. Jul. 2012 um 13:59

Denen, die das BVASystem schon länger kennen, sollte bekannt sein, wie kompliziert es bisher war, die Datenbankstruktur zu aktualisieren. Ab heute ist alles viel einfacher, denn alle zukünftigen Datenbankupdates werden mit dem Administrationstool durchgeführt. Dazu müssen nur noch eine handvoll Parameter, wie zum Beispiel das Datenbankadministratorlogin, eingegeben werden. Der Rest läuft dann quasi nach einem einzigen Klick automatisch ab.

BVAAdmin - Datenbankstruktur aktualisieren

BVAAdmin – Datenbankstruktur aktualisieren

Damit dies möglich ist, arbeitet das Administrationstool mit einem relativ einfachen System. In der Datenbankstruktur gibt es seit einiger Zeit eine Tabelle „bva_version“, in der die jeweils vorhandene Datenbankversion gespeichert ist. Wenn der Aktualisierungsprozess angest0ßen wird, so wird als erstes in diese Tabelle geschaut. Anschließend werden nacheinander die notwendigen Aktualisierungsscripte ausgeführt. In den Scripten werden schrittweise neue Datenbanktabellen angelegt oder neue Datenfelder zu bestehenden Datenbanktabellen hinzugefügt. Bestehende Datenbankfelder, die nicht mehr benötigt werden, werden niemals gelöscht, weil damit Nutzerdaten gelöscht werden könnten. Nachdem die Aktualisierungsscripte ausgeführt wurden, wird die Datenbankversion in der Tabelle „bva_version“ aktualisiert.

Mit dem aktuellen Administrationstool kann der Ablauf noch gefahrlos getestet werden, da keinerlei Änderungen an der Datenbankstruktur vorgenommen werden. Das Updatescript für Version 2 besteht aktuell nur aus einem einzigen Dummy-Befehl. Auch das herraufsetzen der Datenbankversion ist noch deaktiviert. Mit der nächsten Version in etwa 2-3 Wochen wird allerdings das erste „scharfe“ Datenbankupdate kommen. Spätestens dann ist es ratsam, vor dem Update die bestehende Datenbank mit dem jeweiligen Tool des Datenbanksystems zu sichern.

 

Ein besonderer Tag

Verfasst am: Mittwoch, 11. Jul. 2012 um 22:20

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

Verfasst am: Mittwoch, 20. Jun. 2012 um 22:19

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

Mein Arbeitsablauf zur Bildverwaltung

Verfasst am: Samstag, 16. Jun. 2012 um 21:17

Ich hatte bereits angekündigt, das ich einen weiteren Blog schreiben werde, um meine weitere Vorgehensweise bei der Weiterentwicklung des BVASystems zu beschreiben. Bevor ich dies allerdings tue, möchte ich heute kurz meinen Arbeitsablauf zur Bildverwaltung beschreiben.

Kopieren der Fotos

Mein erster Arbeitsschritt, nachdem ich auf einer Fototour gewesen bin, ist natürlich das Kopieren der Bilder von der Speicherkarte auf den PC. Dabei sortiere ich die Bilder nach Aufnahmedatum in eine hierarchische Ordnerstruktur ein. Für jedes Jahr lege ich ein Verzeichnis an, in dem ich für jeden Monat ein Unterordner anlege. In diesen Verzeichnissen lege ich für jeden Tag, an dem ich fotografiert habe, ein weiteres Unterverzeichnis an. Da ich mehrere Kameras besitze und es durchaus möglich ist, das ich an einem Tag mehrere verwendet habe, lege ich für jeden Tag für jede Kamera nochmals je einen Unterordner an. In diese Unterordner kopiere ich dann die Fotos.

Foto-Ordnerstruktur auf der Festplatte

Foto-Ordnerstruktur auf der Festplatte

Anlegen von Fotoalben

Da das BVASystem in der Lage ist, Fotos automatisch Fotoalben zuzuordnen, lege ich im zweiten Schritt Fotoalben an. Möchte ich nur die Fotos eines Wochenendausflugs verwalten, ist das Anlegen der Fotoalben schnell erledigt. Komme ich dagegen von einer Urlaubsreise zurück, dauert das Anlegen der Alben schon etwas länger. Für die Anordnung der Alben habe ich kein festes System. Ich versuche allerdings die Fotoalben möglichst hierarchisch anzulegen. Alle Urlaubsreisen bekommen zum Beispiel ein Unteralbum in dem Album „Reisen“. Teilweise besitzen die Fotoalben noch einen zeitlichen Bezug im Namen, zum Beispiel „Helgoland 2012“

Datenbankimport

Nachdem die Fotoalben angelegt sind, importiere ich alle Bilder in die Datenbank und lasse den Zuordnungs-Automatismus für mich arbeiten.  Mein Datenbankmanagementsystem liegt dabei auf einem anderen Rechner, als die Foto-Verzeichnisstruktur. Nach dem Import belasse ich die Bilder trotzdem in der Foto-Verzeichnisstruktur. Die Bilder in der Verzeichnisstruktur dienen also nur noch als Backup. Arbeiten tue ich nur noch mit den Bildern in der Datenbank.

Bewertung der Fotos

Die eigentliche Bildverwaltung beginnt nun im BVASystem. Ich schaue mir die Fotos mehrfach tageweise an und bewerte sie dabei. Ich nutze folgendes Bewertungssystem:

Kategorie 1:  Die besten Bilder

Diese Bilder sind die Bilder, die ich nochmals mit einem Fotoalbum verknüpfe. Möchte ich beispielsweise einem Freund Urlaubsbilder zeigen, so bekommt er nur diese Bilder zu Gesicht. Schließlich möchte ich niemanden mit mehreren hundert Fotos des gleichen Motivs quälen. Bilder aus dieser Kategorie, die nicht zu sehr ins private gehen, nutze ich auch für meine Foto-Homepage.

Kategorie 2: Gute Bilder

Die Fotos in dieser Kategorie gehören definitiv zu den Bildern, die aufgehoben werden sollten. Meist gibt es aber eine Kleinigkeit, die mich an  Ihnen stört. Es kann aber auch vorkommen, das wenn ich das gleiche Motiv dreimal sehr gut abgelichtet habe, zwei Varianten in dieser Kategorie landen, damit sich innerhalb der besten Bilder keine Wiederholungen befinden.

Kategorie 3: Bilder, die mit einer Nachbearbeitung vielleicht gut werden

Hier sammel ich alle Bilder, die durch eine Nachbearbeitung noch zu retten sind. Stichworte wären hier zum Beispiel: schiefer Horizont, stürzende Linien, leichte Fehlbelichtungen, Farbstiche usw.

Kategorie 4: Schlechte Bilder, die aber einen Erinnerungswert haben

Von einigen Bildern kann ich mich einfach nicht trennen, auch wenn sie technisch einfach nur schlecht sind.  Gerade wenn ich es nicht geschafft habe eine Situation gut einzufangen, bin ich schnell bereit wenigstens ein schlechtes Bilder der Situation zu behalten.

Kategorie 5: Müll

Fotos, die in dieser Kategorie landen werden direkt wieder aus der Datenbank gelöscht. Da ich generell zu viele Fotos mache, versuche ich, das möglichst viele Bilder in dieser Kategorie landen. Jedes Foto, das ich hier mehr lösche, erleichtert es, die guten Fotos bei Bedarf wiederzufinden.

Optimierung der besten Bilder

Im letzten Arbeitsschritt bereite ich einige der besten Bilder für meine Foto-Homepage auf. Als häufigste Aufgabe steht hier das verkleinern der Bilddimension und ein leichtes Nachschärfen an. Für die Homepage bekommt jedes Foto einen aussagekräftigen Titel, eventuell Schlagworte und in ganz seltenen Fällen eine Bildbeschreibung.

Schlussbetrachtung

Mit meinen System komme ich bisher eigentlich recht gut zurecht. Änderungen am Ablauf sind aber durchaus möglich, wenn mir die Bildverwaltungssoftware neue Möglichkeiten gibt. Da das BVASystem zum Beispiel noch keine Schlagworte  unterstützt, nutze ich diese Funktionalität bisher auch noch nicht. Für die Zukunft kann ich mir aber sehr wohl vorstellen, das die Fotos der Kategorie 1 noch mit weiteren Informationen versehen werden, um die Auffindbarkeit zu erleichtern.

 

Metadatenelemente: Blende und Belichtungszeit

Verfasst am: Montag, 11. Jun. 2012 um 22:35

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 …

Verfasst am: Donnerstag, 07. Jun. 2012 um 13:58

… 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

Verfasst am: Dienstag, 15. Mai. 2012 um 20:40

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

Verfasst am: Dienstag, 01. Mai. 2012 um 14:59

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

Verfasst am: Montag, 16. Apr. 2012 um 22:40

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.