Bildfilterung | BVA-System

Posts Tagged ‘Bildfilterung’

Ende der ruhigen Zeit …

Montag, Dezember 7th, 2015

So viel Abstand wie jetzt hatte ich noch nie zwischen zwei Versionen des BVASystems. Aber jetzt habe ich mich endlich dazu aufgerafft, wieder eine neue Version zu veröffentlichen. Auch wenn es in den letzten Monaten sehr ruhig gewesen ist, so habe ich trotzdem fast täglich ein klein wenig was am BVASystem programmiert. Meist habe ich dabei aber nur „Schönheitsfehler“ im Quelltext beseitigt, so das es wenig darüber zu berichten gab.

Entwicklung des BVASystems in der statischen Code-Analyse Sonar

Entwicklung des BVASystems in der statischen Code-Analyse Sonar

Die einzige wirkliche Neuerung, die ich vorzeigen kann, ist ein Overlay-Panel in der Einzelbildansicht. Damit ist nun auch in der Einzelbildansicht ersichtlich, ob das angezeigte Foto den eingestellten Filterbedingungen entspricht. Damit das Overlay nicht stört, wird es automatisch entfernt, sobald man die Maus drüber bewegt.

Overlay zur Anzeige einer aktiven Bildfilterung

Overlay zur Anzeige einer aktiven Bildfilterung

Ein hunderprozentig festgelegt, womit ich nun weitermache, habe ich mich noch nicht. Fest steht allerdings, das ich keine Lust mehr darauf habe, nur interne Änderungen vorzunehmen. Rein vom Interesse her, würde ich gerne etwas machen um ähnliche Fotos zu detektieren. Da ich dafür allerdings einiges ausprobieren muss, bevor ich eine endgültige  Lösung gefunden habe, wird es wohl im nächsten Jahr einen weiteren Test-Dialog geben, in dem ich unterschiedliche Wege zur Merkmals-Extraktion ausprobieren kann. Weiterhin habe ich definitiv vor, die Oberfläche des Programmes zu verbessern, so das die Bedienung noch einfacher/übersichtlicher wird.

Ansichtseinschränkung und Filterelement: Bildgröße

Mittwoch, Januar 28th, 2015

Vor einigen Wochen war ich auf der Suche nach einem speziellen Foto in meinem Datenbestand. Allerdings passte keiner der Filter, die ich bisher implementiert hatte. Ich wusste nur, das das gesuchte Foto deutlich größer war, als die Bilder die ich normalerweise aufnehme. Schnell war daher der Gedanke fixiert, die Bildgröße als nächstes Element anzugehen. Und da ich noch genügend Zeit hatte, habe ich das Element auch gleich zweimal umgesetzt. Die Bildgröße kann nun bei der Ansichtseinschränkung und auch als Filterelement verwendet werden.

Ansichtseinschränkung Bildgröße

Ansichtseinschränkung Bildgröße

Die Festlegung des Elements erfolgt wie auch schon bei der Brennweite mit einem Schieberegler mit 2 Schiebeelementen. Die gesuchten Fotos müssen dann eine Bildgröße besitzen, die sich zwischen den beiden eingestellten Werten befindet. Bei der Ansichtseinschränkung ist es noch möglich Fotos zu suchen, deren Bildgröße sich nicht zwischen den eingestellten Parametern befindet. Bei der Bildfilterung ist dies konzeptionell leider nicht möglich.

Außerdem habe ich,wie im vorherigen Blog bereits beschrieben, an den internen Umstellarbeiten weitergemacht. Ich bin immer noch total glücklich darüber, das nun bereits 3 Worker-Tasks auf die generalisierten Datenbankkomponenten umgestellt sind. Es liegen in den nächsten Wochen zwar noch einige vor mir, aber vom Prinzip her weiß ich nun wie es geht. Mehr möchte ich nun aber auch nicht rum plaudern. Ich mach mich lieber an die nächste Version, aber jetzt erstmal viel Spaß mit  der aktuellen Programmversion.

Bildfilterung: ISO-Empfindlichkeit

Donnerstag, Januar 8th, 2015

Das neue Jahr beginnt genauso, wie das alte Jahr geendet ist. Es gibt wieder eine neue Entwicklerversion vom BVASystem mit einem neuen Filterkriterium. Hinzugekommen ist dieses mal das Kritierium ISO-Empfindlichkeit, welches bei der Bildfilterung genutzt werden kann. Für dieses Kriterium musste ich allerdings weit mehr Aufwand investieren, als ich eingeplant hatte. Ich finde nämlich die doppelte Schiebereglerkomponente mit logarithmischer Einteilung, wie sie bereits bei der Brennweite eingesetzt wurde, nicht schlecht. Es lag nahe, sie auch für die ISO-Empfindlichkeit einzusetzen. Dafür waren allerdings einige Modifikationen notwendig.

Natürlich wurde als offensichtliches Merkmal eine andere Beschriftung benötigt . Ebenso offensichtlich ist es, das andere Wertebereiche notwendig waren. Dann fiel mir allerdings auf, das es bei der ISO-Empfindlichkeit keinen Sinn macht, nach ISO 317 zu filtern, da bei Kameras nur gängige Werte wie ISO 200 oder ISO 300 eingestellt werden können. Nachdem ich kurz über dies Problem nachgedacht hatte, entschied ich mich, das es bei der Brennweite auch sinnvoll ist, wenn nicht alle „krummen“ Werte eingestellt werden können. Suche ich nach Bildern, die ich mit einem bestimmten Objektiv fotografiert habe, so muss ich eben den Brennweitenbereich des Objektives auswählen. Dieser liegt dann aber beispielsweise zwischen 70 und 200 Millimeter und nicht zwischen 67 und 143 Millimeter. Bei beiden Filterkriterien können nun also nur noch fest vordefinierte Werte eingestellt werden. Ich hoffe, das ich dabei keine gängigen Werte ausgeschlossen habe.

Filterkriterium ISO-Empfindlichkeit

Filterkriterium ISO-Empfindlichkeit

Des weiteren habe ich natürlich wieder relativ viel Zeit in die internen Änderungen gesteckt. So habe ich zum Beispiel eine Transaktionssteuerung in meinem WebDB-Paket implementiert. Auch habe ich bereits ein Script geschaffen, mit dem ihr euch  später für den Zugang zur BVATestdatenbank registrieren könnt.  Außerdem habe ich hoffentlich das Problem gelöst, welches ich mit Blob-Parametern hatte. Diese lassen sich nämlich nicht direkt in den SQL-Befehl integrieren, da die Binärdaten höchstwahrscheinlich unzulässige Zeichen enthalten werden. Am schwierigsten war hier die Lösung für die WebDB. Dort habe ich mich entschieden, die Binärdaten Base64 codiert in eine XML-Datei zu schreiben.

Ausblick

Als nächstes steht nun an, das ich die ersten Worker-Funktionen des BVASystems auf die generalisierten Datenbankfunktionen umstelle. Wichtig ist mir dabei vor allem erstmal, das die bestehende ADO Implementation wieder funktioniert. Als Nebeneffekt erhoffe ich mir, das es eine vollständigere Logfunktion gibt. Bisher habe ich es nämlich nicht geschafft, überall Logging-Befehle einzupflegen. Des weiteren habe ich mir überlegt, ein Filterkriterium zu implementieren, welches die Bildgröße benutzt. Es wird also bald möglich sein, große und kleine Bilder voneinander zu trennen.

Viel Arbeit für eine kleine Änderung

Donnerstag, September 11th, 2014

Eigentlich hatte ich ja vor, wieder die meiste Zeit in die nicht sichtbaren Änderungen zu investieren. Allerdings habe ich mich da diesmal total verkalkuliert. Als kleines sichtbares Gimmick hatte ich mir überlegt, nach langer Zeit wieder mal ein neues Element zur Bildfilterung zu implementieren. Dazu hatte ich mir die Brennweite, mit der die Fotos aufgenommen wurden, herausgesucht. Das Grundgerüst zur Bildfilterung stand eigentlich recht schnell, aber dann fiel es mir extrem schwer, ein geeignetes Oberflächenelement zu erstellen, mit dem die Filterparameter eingestellt werden können.

Schnell legte ich mich darauf fest, ähnlich wie bei dem Filterelement „mittlere Helligkeit“ vorzugehen. Dort kann durch einen Schieberegler mit zwei Schiebern der Bereich eingestellt werden, in dem sich die gesuchten Bilder befinden sollen. Allerdings hat diese Vorgehensweise bei der Brennweite einen entscheidenden Nachteil. Die gängigen Objektive, die es für Kameras zu kaufen gibt, bewegen sich in einem Bereich von 0-300 Millimeter Brennweite. Im Weitwinkelbereich, der sich bis etwa 50 Millimeter Brennweite erstreckt, führt eine Änderung um wenige Millimeter zu total unterschiedlichen Bildern. Im Telebereich dagegen ist es nicht so entscheidend, ob der Wert um 10 Millimeter größer oder kleiner ist. Die Skala des Schiebereglers sollte also nicht linear ansteigen, da ansonsten im Weitwinkelbereich nicht genau genug ausgewählt werden kann.

Daher habe ich mich entschieden, einen drei geteilten Schieberegler zu erstellen.  Das erste Drittel erfasst den Bereich von 0 bis 20 Millimeter, der mittlere Bereich erstreckt sich von 21 bis 100 Millimeter Brennweite und der letzte Bereich dient zur Auswahl der Brennweiten von 101 bis 999 Millimeter Brennweite. Ich habe ein deutlich größeres Maximum gewählt, damit auch Objektive mit exotischen Brennweiten mit dem Filter erfasst werden können. Trotzdem kann der gesuchte Bereich im Weitwinkelteil sehr genau ausgewählt werden. Damit die Komponente intuitiv bedienbar bleibt, wird unter dem Schieberegler der ausgewählte Bereich in Textform ausgegeben.

Filterkriterium Brennweite

Filterkriterium Brennweite

Da ich in die Komponente zur Auswahl des Bereiches viel Arbeit gesteckt habe, werde ich in den nächsten Wochen die Brennweite auch als Kriterium in der Ansichtseinschränkung nutzbar machen. Da die Komponente zur Auswahl bereits fertig ist, sollte diesmal wieder mehr Zeit bleiben, um die internen Änderungen voranzutreiben.

Viele neue Baustellen

Donnerstag, April 3rd, 2014

Nachdem ich eine stabile Softwareversion veröffentlicht habe, fühle ich mich immer sehr befreit und überlege mir, welche Punkte in den nächsten Monaten unbedingt umgesetzt werden müssen. Da ich immer möglichst schnell alle technischen Probleme erkennen bzw. lösen möchte, fange ich dann meist auch mit allen Punkten gleichzeitig an. So ist es auch diesmal wieder gewesen. Eventuell hatte ich mir dabei aber ein bisschen zu viel vorgenommen. Außerdem lag ich die letzte Woche auch noch krank im Bett. Nun nach fast einem Monat bin ich aber fertig und kann euch endlich zeigen, welche Änderungen es in den nächsten Monaten noch geben wird.

Bildfilterung

Die Bildfilterung ist für mich mittlerweile ein unverzichtbares Werkzeug geworden. Allerdings fehlt mir nach wie vor die eine oder andere Möglichkeit zur Filterung. Daher werde ich das System nach und nach um weitere Kriterien erweitern. Mit der heutigen Version ist die Möglichkeit nach der manuellen Bildbewertung zu filtern hinzugekommen. Möchte man nun Beispielsweise von seinem Urlaub berichten, so kann man gezielt nur die guten Bilder vorzeigen. 

Filterkriterium manuelle Bildbewertung

Filterkriterium manuelle Bildbewertung

Fehlende Schlagwort-Funktionen

Bei der Verschlagwortung von Fotos fehlten bisher einige sehr wichtige Funktionen. Zum Beispiel konnten Schlagworte, die einmal erzeugt wurden, nicht mehr aus der Datenbank entfernt werden. Auch eine Änderung, z.B. weil man sich bei der Eingabe verschrieben hatte, war nicht machbar. Mit der jetzigen Version ist dies beides nun möglich. Beide Funktionen sind über einen Popup-Dialog erreichbar, welcher über den einzelnen Schlagworten des Bildinformationsfensters Schlagworte geöffnet werden kann. Aber auch hier gibt es in den nächsten Wochen noch etwas zu tun. Denn mir fehlt eine Funktion mit der man 2 Schlagworte zusammenführen kann. Stellt man fest, das man aus versehen die Schlagworte „Elefant“ und „Elefanten“ verwendet hat, so soll es möglich sein, eines der beiden Schlagworte zu ersetzen.

Dialog zur Umbenennung eines Schlagwortes

Dialog zur Umbenennung eines Schlagwortes

Neue Scrollbar-Komponente

Häufig ärgere ich mich darüber, das das aktive Element des Baumes oder das der Bildliste nicht im sichtbaren Bereich liegen und ich es erst mit Hilfe der Scrollbar suchen muss. Oft scrolle ich dabei natürlich zuerst in die falsche Richtung. Ich habe bereits probiert, die Steuerelemente so anzupassen, das das aktive Element immer im sichtbaren Bereich liegt. Allerdings war dieses unpraktisch, da die Steuerelemente viel zu häufig allein den sichtbaren Bereich veränderten. Meine neue Idee ist es daher, eine Markierung auf der Scrollbar anzubringen, damit man immer sofort weiß, wo sich das aktive Element befindet. Leider ist dies mit der jetzigen Scrollbar-Komponente nicht möglich. Daher habe ich damit begonnen, eine komplett eigene Scrollbar zu entwickeln. Die Optik (bis auf die der Markierung) habe ich bereits fertig. Ihr könnt euch die Scrollbar in einem neu geschaffenen Testdialog („Reagenzglas“-Knopf im Hauptmenü) ansehen. 

Aussehen der zukünftigen Scrollbars

Aussehen der zukünftigen Scrollbars

BVASystem Version 2.2.0

Dienstag, März 11th, 2014

Da nun bereits wieder der Frühling vor der Tür steht, ist es wieder an der Zeit, eine stabile Version des BVASystems zu veröffentlichen. Wenn ich ehrlich bin, ist in den letzten Monaten dieses mal nicht eine einzige Funktion entstanden, die ich als das Non-Plus-Ultra bezeichnen würde. Vielmehr habe ich dieses mal eine Reihe von kleineren Verbesserungen vorgenommen, die sich beim täglichen Umgang mit dem Programm definitiv bemerkbar machen.

Am wichtigsten, gerade in Hinblick auf die Bildfilterung, war mir dabei die Neugestaltung der Sortierung. Die Ergebnisse der Bildfilterung können nun, auch schon bereits während die Filterung berechnet wird, nach Filterungsübereinstimmung sortiert werden. Damit erscheinen die Fotos, die man sicherlich sehen möchte am Anfang der Bildliste. Als weitere Veränderung an der Bildfilterung fällt sicherlich auf, das man nun einzelne Filter auch wieder löschen kann. Für bequeme Anwender besteht ebenfalls die Möglichkeit, alle Filter auf einmal zu löschen bzw. alle Filter zu deaktivieren. Als neues Filterkriterium können nun die zu den Fotos zugeordneten Schlagworte genutzt werden.

BVASystem 2.2.0 - Miniaturbilder mit aktivierter Bildfilterung

BVASystem 2.2.0 – Miniaturbilder mit aktivierter Bildfilterung

Ganz neu ist der Dialog, der zur Konfiguration der Schlagworte dienen soll. Mit diesem können bequem Schlagworte zu den einzelnen Schlagwortkategorien zugeordnet werden. Neu ist ebenfalls die Möglichkeit, Fotos aus der Datenbank zu exportieren. In der letzten Woche habe ich noch eine Funktion umgesetzt, die bereits seit rund 1300 Tagen auf meiner Todo-Liste stand. Es können nun mehrere Fotos auf einmal selektiert werden, wenn man beim Selektieren die Shift-Taste gedrückt hält.

Ausblick

Für die nächste Zeit habe ich mir wieder größere Änderungen vorgenommen. Die größte ist dabei sicherlich, das ich das System um eine lokale Datenbank erweitern möchte. Ich bin eigentlich total glücklich darüber, wie ich meine eigenen Fotos mit dem BVASystem verwalten kann. Allerdings stört mich, das immer mehr Funktionen ausschließlich datenbankseitig verfügbar sind. Daher habe ich mir überlegt, eine lokale Datenbankdatei zu nutzen, um nach und nach die angesprochenen Funktionen auch lokal nutzbar zu machen. Dabei sollen keine Bilder in der Datenbankdatei abgelegt werden. Die lokale Datenbank soll ausschließlich dazu dienen, die Textdaten der Fotos schnell auffindbar zu speichern.

Damit es auch wieder sichtbare Änderungen gibt, habe ich mir vorgenommen, die Filterung um weitere Kriterien zu erweitern. Gerade jetzt, wo die Sortierung der Filterungsergebnisse möglich ist, nutze ich die Funktion recht häufig. Allerdings fehlt mir definitiv noch das eine oder andere Kriterium, damit ich dort wunschlos glücklich werde. Fast noch wichtiger ist es, bei den Schlagworten noch einige Funktionen nachzureichen. Es ist zum Beispiel aktuell nicht möglich, ein Schlagwort komplett zu löschen. Auch die Umbenennung eines Schlagwortes ist aktuell noch nicht möglich. Außerdem habe ich mir vorgenommen, in den Miniaturbildkomponenten eine Markierung zu schaffen, die das Auffinden des aktiven Elementes vereinfachen soll. Gerade bei größeren Bildlisten kann man doch recht schnell den Überblick verlieren.

Arbeiten am Schlagwort-Konfigurationsdialog

Donnerstag, Januar 23rd, 2014

Mit dem Schlagwort-Konfigurationsdialog war ich bisher in zweierlei Hinsicht unzufrieden. Immer wenn ich ein Schlagwort einer Schlagwortkategorie zuordnen wollte, ärgerte ich mich, das dieses nur recht umständlich über die Funktion „Schlagwortkategorie editieren“ möglich war. Gerade bei der Zuordnung von mehreren Schlagworten verlor ich schnell die Lust und dachte sofort an den Schlagwort-Konfigurationsdialog, der eigentlich genau für diese Zuordnungsarbeit erschaffen wurde. Allerdings schaffte ich es bisher nicht, den Dialog soweit fertigzustellen. Des weiteren war es natürlich unschön, einen Dialog in der Anwendung zu haben, der nicht sinnvoll genutzt werden konnte. 

Schlagwortkonfigurationsdialog

Schlagwortkonfigurationsdialog

Damit ist nun endlich Schluss, denn mit dem Schlagwort-Konfigurationsdialog können jetzt Schlagworte zu Schlagwortkategorien zugeordnet werden. Dazu wählt ihr als erstes auf der linken Seite eine Schlagwortkategorie aus. Auf der rechten Seite befindet sich eine Schlagwortcloud, die alle Schlagworte enthält, die dem System bekannt sind. Schlagworte, die mit der gewählten Kategorie verknüpft sind, werden farbig dargestellt. Die nicht verknüpften Schlagworte sind grau. Durch einfaches Anklicken eines Schlagwortes kann dieses mit der Kategorie verknüpft werden. Auf gleicher Art und Weise können Verknüpfungen gelöscht werden. Nachdem alle gewünschten Schlagworte ausgewählt wurden, können die Änderungen über den Knopf links oben in der Werkzeugleiste gespeichert werden. 

Außerdem habe ich in den letzten Tagen ein weiteres Filterkriterium angelegt. Es kann nun nach der Kamera, die bei der Aufnahme verwendet wurde, gefiltert werden. Das Kriterium, ist dabei so angelegt, das in einer Auswahlliste alle Kameramodelle angezeigt werden, die dem System bekannt sind. An dem Schlagwort-Filterkriterium habe ich noch einige kleinere Verbesserungen vorgenommen. Die einzelnen gewählten Schlagworte werden nun durch 2 senkrechte Markierungen verbunden, damit man leichter erfassen kann, welche Elemente zum gleichen Filter gehören.

Für die nächste Version habe ich mir vorgenommen, kein weiteres Filterkriterium zu schaffen. Ich möchte lieber eine Funktion, die ich mir schon recht lange vorgenommen habe, implementieren. Das BVASystem soll in der Lage sein, ein oder mehrere Bilder wieder aus der Datenbank zu exportieren. Dabei soll eine Zielgröße auswählbar sein, so das die Fotos nicht mehr manuell verkleinert werden müssen, wenn man sie beispielsweise per E-Mail verschicken möchte. Außerdem wünsche ich mir eine Funktion, mit der alle Filter auf einmal gelöscht werden können. Nach dem gleichen Prinzip soll es auch möglich sein, alle Filter auf einmal zu deaktivieren.

Filterung nach Schlagworten

Mittwoch, Januar 8th, 2014

Nachdem ich meine Erkrankung, die mich Weihnachten flach gelegt hat, überstanden hatte, beschäftigte ich mich über den Jahreswechsel hinweg mit der Bildfilterung. Es ist mir wichtig, das die noch neue Funktion nach und nach mit vielen weiteren Kriterien erweitert wird. Als erstes neues Filterkriterium wählte ich die Schlagworte, da ich finde, das die Schlagworte ein zentraler Bestandteil der Bildverwaltung sind.

Während der Umsetzung fiel mir dann auf, das ich mir etwas kompliziertes ausgesucht hatte. Ich hatte bisher nicht vorgesehen, das bei der Filterdefinition einzelne Filter ihre Höhe verändern können. Außerdem wollte ich natürlich auch wieder das Popup-Fenster, welches Schlagwortvorschläge anzeigt, wiederverwenden. Dafür musste ich die Bindung der Komponeten an die Datenschicht überarbeiten, da  dort bisher keine Verbindung zur Datenbank möglich war. 

Filterung nach Schlagworten

Filterung nach Schlagworten

Die Filterung nach Schlagworten funktioniert prinzipiell genauso wie die bereits bekannten Filterkriterien. Es können allerdings mehrere Schlagworte in einem Filter zusammen ausgewählt werden.  Die Definition mehrerer Schlagworte zur Filterung erfolgt nach einander. Nach der Auswahl eines Schlagwortes, wird das Filterelement um einen Eintrag erweitert und das Eingabefeld geleert. Dort können anschließend weitere Schlagworte eingegeben werden. Schlagworte, welche sich nicht im Vorschlag-Popup befinden, können mit der „Enter“-Taste bestätigt werden.  Um den Filter dann zu erfüllen muss das jeweilige Foto alle gewählten Schlagworte haben.

Neu ist ebenfalls die Möglichkeit, das nicht mehr benötigte Filter gelöscht werden können. Dafür habe ich hinter jeden Filter einen kleinen Knopf integriert, der ein Mülltonnen-Symbol zeigt. Für einen einfachen Klick kann die jeweilige Filterdefinition gelöscht werden. Versucht man das letzte Filterelement eines Kriteriums zu löschen, so bleibt das Element bestehen und wird neu initialisiert. Für eine erneute Definition eines Filters soll das erste Element immer sofort bereitstehen.

BVASystem Version 2.1.6

Montag, Dezember 16th, 2013

Es hat nun zwar etwas länger gedauert die nächste BVASystem Version ohne „dev“ Zusatz fertigzustellen, aber dafür hat sich auch einiges geändert. Ganz frisch fertig geworden ist der riesige Funktionsbereich zur Bildfilterung. Außerdem neu sind die Schlagwortrubriken, die Verschlagwortung mehrerer Fotos auf einmal und das Histogramm-Werkzeug. Die neue Version 2.1.6 kann im Download-Bereich ab sofort heruntergeladen werden. Die Neuerungen im Detail:

Bildfilterung

Der größte Teil der Arbeit steckt in dem neuen Bereich zur Bildfilterung. Mit ihm soll es möglich sein, ein gesuchtes Bild schnell und einfach zu finden. Generell teilt sich die Bildfilterung in drei Bereiche. Es können Filter definiert werden, die auf Meta-, Nutzer- oder Programmdaten basieren. Metadaten sind Informationen, die dem Bild entnommen werden konnten. Nutzerdaten wurden vom Nutzer eingegeben, während Programmdaten vom BVASystem selbst errechnet werden. In jedem der 3 Bereiche können durch einen einfachen Klick Filter aktiviert bzw. deaktiviert werden. Notwendige Parameter lassen sich in den jeweiligen Steuerelementen auswählen. Nachdem eine Änderung an den Filtereinstellungen vorgenommen wurde, startet ein nebenläufiger Prozess, der für jedes Foto prüft ob die Filterkriterien passen. Die Ergebnisse werden in der Miniatur- und Filmstreifenansicht dargestellt. Die eigentliche Bildliste bleibt unverändert bestehen. Es werden nur die passenden Fotos hervorgehoben, währen nicht passende Bilder ausgegraut werden.

Miniaturbilde mit aktivierter Bildfilterung

Miniaturbilde mit aktivierter Bildfilterung

Schlagwortrubriken

Mit den Schlagwortrubriken ist es möglich, ein System in die normalerweise hierarchielosen Schlagworte zu bringen. Ich persönlich habe mir eine Schlagwortrubrik „Urlaubsreisen“ angelegt, die wiederum Unterrubriken für jeden Aufenthaltsort besitzen. Allgemeinere Schlagworte, wie zum Beispiel „Strand“, habe ich in die Schlagwortrubrik „Orte“ einsortiert. Außerdem habe ich mir eine Rubrik „Personen“ mit den Unterrubriken „Familie“, „Freunde“, „Bekannte“, usw. angelegt. Suche ich nun also zum Beispiel ein Bild, auf dem eines meiner Kinder drauf ist, schaue ich in die Schlagwortrubrik „Familie“. Sind dort zu viele Fotos in der entsprechenden Bildliste, so grenze ich sie durch die Bildfilterungsfunktion weiter ein, bis ich das gesuchte Bild gefunden habe. 

Verschlagwortung mehrerer Fotos

Beim Verschlagworten meiner Urlaubsbilder fiel mir auf, das dem BVASystem eine Funktion fehlte, mit der mehrere Fotos auf einmal mit Schlagworten verknüpft werden können. Ich wollte für Urlaubsbilder das Schlagwort „Holland“ festlegen und musste dafür bei jedem Bild mit einem Klick das Schlagwort aktivieren. Nun kann ich in der Miniaturbild- oder Filmstreifenansicht eine beliebige Bildmenge auswählen und von dort aus über das Popup-Menü einen Dialog zur Verschlagwortung öffnen. Alle Schlagworte, die ich dort auswähle, werden für alle markierten Bilder gesetzt.

Histogramm-Werkzeug

Bei der Bewertung von Fotos betrachte ich ganz gerne das Histogramm des Bildes, um einen besseren Überblick  über die Farbverteilung zu erhalten. Bisher musste ich dafür das Foto immer in meinem Bildbearbeitungsprogramm öffnen. Dieser Schritt entfällt nun, da ich jederzeit in einer der Bildansichten das Histogramm-Werkzeug öffnen kann.

Ein Ende in Sicht

Freitag, Dezember 6th, 2013

Nach einigen etwas zähen Wochen, hab ich es heute nun endlich geschafft, die Grundfunktionen zur Bildfilterung fertigzustellen. Die vorläufig ersten drei Filterungsmöglichkeiten können alle genutzt werden, um die Menge Fotos der aktiven Bildliste einzugrenzen. Wie bereits gesagt, werden dabei allerdings keine Bilder aus der Liste entfernt. Fotos bei denen die gesetzten Filter nicht passen, werden ausschließlich optisch anders dargestellt als die Bilder, bei denen die Filter übereinstimmen. 

Bildfilterung nach Fotos deren Bildtitel Düne enthalten

Bildfilterung nach Fotos deren Bildtitel Düne enthalten

Funktionsweise der Bildfilterung

Die Bildfilterung läuft in einem neben läufigen Prozess, der im BVASystem integriert ist. Sobald ihr einen Filter setzt, wird der Prozess aktiv. Dieser prüft nacheinander für jedes Bild, ob der Filter passt oder nicht. Notwendige Daten, wie zum Beispiel den Bildtitel, erfragt sich der Prozess bei der Hauptanwendung. Kennt die Hauptanwendung die angeforderten Daten nicht, zum Beispiel ist die Information über die mittlere Helligkeit nicht für jedes Bild einer Bildliste verfügbar, so bestimmt der Prozess die notwendigen Daten selber. Im Falle eines Datenbankbildes wird der jeweilige Wert aus der Datenbank abgefragt. Bei Fotos von der Festplatte wird der Wert einfach am Bild bestimmt bzw. berechnet. Nachdem für ein einzelnes Foto feststeht, ob die Filter passen oder nicht, wird die Hauptanwendung über das Ergebnis informiert. Diese aktualisiert dann die Oberfläche und zeigt das Filterergebnis an. Währenddessen bestimmt der Prozess bereits die Filterung für das nächste Bild.

Deaktiviert ihr einen Filter wieder, so wird das Ergebnis nicht gänzlich „entsorgt“. Solange die Bildliste nicht geändert wird, steht das Filterergebnis weiterhin auf Abruf zur Verfügung. Aktiviert ihr den Filter ein zweites Mal, so wird nicht alles neu berechnet. Es wird auf die alten Ergebnisse zurückgegriffen. Dies geht um einiges schneller. Gerade bei der Filterung nach der mittleren Helligkeit macht sich dies bemerkbar, da keine Datenbankabfragen oder Berechnungen durchgeführt werden müssen.

Ausblick

Da ich ab heute, bis zum Ende des Jahres Urlaub habe, hoffe ich, das ich etwas mehr Zeit mit der Entwicklung des BVASystems verbringen kann. Es ist geplant, die neuen Funktionen nochmals ausgiebig zu Testen und auftretende Fehler zu korrigieren. Außerdem habe ich mir vorgenommen, die Optik der Bildfilterung nochmals etwas zu optimieren. Zu guter letzt möchte ich eine Statuskomponente implementieren, die anzeigt ob gerade eine Bildfilterung durchgeführt wird. Im nächsten Jahr werde ich ganz sicher die Bildfilterung weiter ausbauen. Es sind noch viel mehr Filterkriterien notwendig, damit man das System sinnvoll einsetzten kann.