Duplicate Images Finder: Automatisiert nach ähnlichen Bildern suchen

image

Die Suche nach Bildern, die nicht auf Dateinamen oder Metadaten beruht, sondern auf Bildinhalten, ist eine anspruchsvolle Sache. An diese schwierige Aufgabe wagt sich eine Software mit Namen Duplicate Images Finder. In einem Ordner mit über 200 Fotos hat sie bei meinem Test unter anderem das obige Bilderpaar gefunden, das sich ganz offensichtlich ähnlich ist. Auch die übrigen Treffer haben durchwegs klar erkennbare Ähnlichkeit.

Andererseits hätte es unter den 200 Fotos noch diverse andere Bilder gegeben, die für meinen Geschmack ebenfalls als ähnlich gelten müssten. Insofern ist der Duplicate Images Finder zwar ein spannendes Experiment, ersetzt aber nicht die Bildersuche durch einen Menschen. Ausserdem fehlt mir persönlich die Möglichkeit, ein Referenzbild zu definieren, gegen das alle anderen Bilder verglichen werden. Eine Suche in der Art von “Finde alle Bilder, die ähnlich aussehen wie dieses hier!” ist somit nicht möglich.

Der Duplicate Images Finder unterliegt der Microsoft Public License und ist ausschliesslich für Windows verfügbar.

Auf die Schnelle: Charts für TYPO3-Websites

Spätestens seit es Excel gibt gehört es zum guten Ton, Zahlen nicht einfach als Zahlen zu präsentieren, sondern in übersichtliche und visuell attraktive Diagramme zu verwandeln. Dieser Artikel befasst sich mit der Fragestellung, wie man solche Diagramme (engl. Charts) mit bescheidenem Aufwand auf eine TYPO3-Website bringt.

Variante 1: Excel & Co.

Wenn die Zahlen, die man visualisieren will, selten oder nie ändern, dann sollte man gar nicht erst in die Ferne schweifen: Mit Excel erzeugte Grafiken als Bild in die Website einzubauen ist nämlich allemal schneller als irgend eine Chart Engine in TYPO3 zu installieren und deren Handhabung zu erlernen. Nebst Excel liefert beispielsweise auch PowerPoint brauchbare Charts, und natürlich gibt es dank OpenOffice.org Alternativen mit Open-Source-Lizenz.

Variante 2: Google Chart API

imageAuch unsere zweite Variante ist nicht TYPO3-spezifisch: Für gelegentlich ändernde Zahlen bietet sich die Google Chart API an. Das Prinzip ist einfach: Man ruft über die URL http://chart.apis.google.com/chart Googles Chart-Engine auf und gibt alle Informationen über das gewünschte Diagramm im Query-String mit. Die obige Grafik beispielsweise kommt zurück, wenn Sie folgende URL aufrufen:

http://chart.apis.google.com/chart?
cht=p3&
chd=t:48.7,36.2,16.6,19.3&
chs=300×100&
chl=Migros|Coop|Denner|Manor|Volg&
chco=FFB900,DF3A00,535EDF,23BF90

Diese Lösung hat Vor- und Nachteile: Obige URL kann man in TYPO3 problemlos per Content-Element vom Typ HTML in eine Seite einbauen. Mit anderen Worten: Ohne ein Extension installieren zu müssen hat man auf diese Weise Diagramme erstellt, die über das TYPO3-Backend editierbar sind. Allerdings: Die obige URL zu erstellen bzw. zu manipulieren ist eine ziemlich technische Angelegenheit, die man normalen TYPO3-Redaktoren eher nicht zumuten möchte. Immerhin gibt es im Web zahlreiche Websites, wo man solche URLs über ein hübsches Interface erstellen kann (z.B. GCUI).

Variante 3: JPGraph

image Der dritte Weg führt über die Extension jpgraph, welche die gleichnamige Grafik-Library einbindet. Die erzeugten Diagramme wirken vielleicht etwas altbackener als bei Google, dafür ist man autonom und kann das Chart über ein übersichtliches Formular im TYPO3-Backend konfigurieren.

Für Standardanwendungen reicht diese Lösung. Man muss sich allerdings bewusst sein, dass diese Extension nur einen Bruchteil der Funktionalität der mächtigen Library erschliesst und dass lange nicht jede Option pro Chart-Typ im TYPO3-Backend angeboten wird. Bei gewissen Chart-Typen fehlen sogar ganz offensichtlich einzelne Parameter. jpgraph wird im TYPO3 Extension Repository als Alpha-Version geführt, und das sollte man durchaus ernst nehmen. Wenn man das Change Log der Extension studiert, wird man zudem feststellen, dass diese Extension nicht mehr wirklich aktiv weiterentwickelt wird.

Pencil: Mein Firefox ist auch ein Visio

image

Sie sind mitten in einer Präsentation, surfen durch eine Kunden-Website – und sollen plötzlich zeigen, wie ein zukünftiges Kontaktformular aussehen könnte. Was tun Sie?

Sofern Sie nicht auf die klassischen Methoden (Whiteboard, Flip-Chart) ausweichen wollen oder können, werden Sie wahrscheinlich Viso starten oder vielleicht sogar PowerPoint bemühen. Das wird bestimmt irgendwie funktionieren, ist aber nicht annähernd so elegant, wie wenn Sie das GUI kurz in Firefox skizzieren. Und das geht tatsächlich – dank Pencil, einer ziemlich verblüffenden Firefox-Extension.

Klar: Mit Visio (oder dessen Open-Source-Gegenstück Dia) kann Pencial nicht mithalten, aber ein Benutzer-Interface ist damit schnell und optisch überzeugend erstellt. Gehört ab sofort auf meine Liste der empfehlenswerten Firefox-Extensions für Web-Entwickler!

Open Flash Chart und Visifire: dynamische, interaktive Diagramme mit Flash und Silverlight

Wer alle paar Monate ein Säulen- oder Tortendiagramm auf seiner Website veröffentlichen möchte, kann dieses leicht mit Excel bzw. OpenOffice.org Calc erstellen und dann als Screenshot online stellen. Wer hingegen häufig ändernde Daten publizieren muss, kommt um eine Chart Engine nicht herum. Attraktiver als rein statische Bilder sind dabei Charts, die ein gewisses Mass an Dynamik und Interaktivität bieten.

image

Open Flash Chart ist eine Lösung, die als Output Flash-Objekte erzeugt. Um sie in eine Website einzubinden, zu konfigurieren und mit Daten zu speisen benötigt man einfache PHP-Kenntnisse. Alternativ kann man Open Flash Chart auch mit Perl, Python oder Ruby on Rails einsetzen (wobei diese Versionen weniger aktuell sind als die PHP-Version); zudem habe ich hier und hier auch .NET-Versionen gefunden, deren Stand und Qualität ich allerdings nicht beurteilen kann. Es stehen verschiedene Kurven-, Säulen- und Tortengrafiken zur Auswahl, welche die häufigsten Anwendungen abdecken sollten. Von der Farbwahl her empfinde ich die Beispiele auf der Website von Open Flash Chart mässig gelungen – man sollte sich davon aber nicht beeindrucken lassen und die verfügbaren Konfigurationsmöglichkeiten ausprobieren. Wer Flash und ActionScript beherrscht kann sogar die Flash-Dateien (*.fla) modifizieren, denn auch diese stehen unter einer Open-Source-Lizenz zur Verfügung.

image

Wer als Output nicht Flash, sondern Silverlight wünscht, wird bei Visifire fündig. Die erzeugten Grafiken sind optisch attraktiv, wer allerdings das Silverlight-Plugin nicht installiert hat, muss sich mit den statischen Screenshots begnügen (oder schaut das Video). Was Visifire ausserdem attraktiv macht, ist der Chart Designer, über den man seine Charts bequem konfigurieren und anschliessend den erforderlichen HTML-Code generieren kann. Der einzige gewichtige Nachteil von Visifire ist die derzeit noch geringe Verbreitung von Silverlight – aber das kann sich ja noch ändern.

ZenPhoto: Schöne Fotogalerie mit allem, was es braucht

image

Wer seine Fotos nicht Flickr oder einem ähnlichen Dienst anvertrauen will, braucht eine Software, um eine Fotogalerie auf dem eigenen Server zu publizieren. Die Auswahl ist gross (auch im Bereich der Open Source Software), zumal es nicht allzu schwierig und einigermassen dankbar ist, eine solche Software zu programmieren. Entsprechend zahlreich sind aber auch durchschnittliche Lösungen oder ältere Projekte, die nicht mehr aktiv weiterentwickelt werden.

image

Ein positives Beispiel ist ZenPhoto, das mit dem Claim “A simpler web photo gallery” klar anzeigt, dass es hier nicht um ein Maximum an Features, sondern um eine schlanke, leicht bedienbare Software geht, der es aber trotzdem an nichts fehlt. Bereits die ansprechende, aufgeräumte Website des Projekts macht einen sehr guten Eindruck: Sie bietet unter anderem Video-Tutorials, ein gut besuchtes Forum und einen soliden Bugtracker (Trac).

Das Frontend bietet wie üblich Fotoalben und Detailansichten mit Rating- und Kommentarfunktion. Bei Bedarf kann man Alben auch mit einem Passwort schützen, über ein Plug-in kann eine Diaschau-Funktion zugeschaltet werden. Das Aussehen der Fotogalerie wird über Themes gesteuert, die global oder pro Album gesetzt werden. Das derzeitige Angebot an Themes ist allerdings nicht besonders – das hier gezeigte Stopdesign Theme ist eine positive Ausnahme. Mit anderen Worten: Hier gibt es noch ein Betätigungsfeld für Web-Designer und CSS-Spezialisten. 

 image

Das Backend überzeugt durch eine gute Gliederung und ein Bedienungskonzept, das man nicht weiter erklären muss: Alles funktioniert so, wie man es erwartet. Bilder können nicht nur einzeln, sondern auch als ZIP-Archiv auf den Server geladen werden, und als weitere Alternative steht der Upload via FTP-Client zur Verfügung. Thumbnails erzeugt ZenPhoto automatisch, sobald neue Bilder im entsprechenden Ordner liegen, und auf Wunsch wird auch gleich noch ein Wasserzeichen eingebaut. Hervorzuheben ist die Möglichkeit, Alben per Drag and Drop zu sortieren, ferner der Frontend Edit Mode, bei dem Bildbeschreibungen direkt im Frontend erfasst und per AJAX elegant ohne Reload gespeichert werden.

ZenPhoto ist vergleichsweise bescheiden, was die Server-Anforderungen betrifft: PHP 4.10 mit GD Library sowie MySQL 3.23 reichen aus. Als Lizenz kommt die GNU General Public Licence zum Einsatz.

InstantShot: Screenshot-Tool für Mac OS X

instant_shot.jpg

Apple mag ja vieles unglaublich elegant gelöst haben auf dem Mac – die Screenshot-Funktion gehört jedenfalls nicht dazu. Klar kann man mit den richtigen Tastenbefehlen auch unter Mac OS X einen Screenshot des gesamten Bildschirms, eines bestimmten Fensters oder eines wählbaren Ausschnitts machen – wenn man sich die Tastenbefehle denn merken kann, denn eine Print-Screen-Taste sucht man auf einem Mac vergeblich. Und das Programm “Bildschirmfoto”, das zum Lieferumfang eines jeden Macs gehört, erfüllt lange nicht alle Wünsche, die man an ein Screenshot-Tool haben könnte.

Eine gute Alternative stellt InstantShot dar. Der Hauptvorteil liegt darin, dass es allzeit bereit in der Menüleiste sitzt – es ist somit schnell griffbereit, ohne dass man dafür Tastaturkürzel auswendig lernen müsste (wobei natürlich solche ebenfalls zur Verfügung stehen). InstantShot kann Screenshots wahlweise als JPEG, PNG oder TIFF speichern, bietet zahlreiche Optionen für die Erstellung und ist trotzdem erfrischend einfach in der Bedienung. Ein Goodie besteht beispielsweise darin, dass man den Desktop-Hintergrund temporär auf eine neutrale Farbe setzen und die Desktop-Icons ausblenden kann – dadurch wird es einfach, aufgeräumte Screenshots zu erstellen.

InstantShot nutzt – was für Software eher ungewöhnlich ist – eine Creative-Commons-Lizenz: Die Software darf weitergegeben und modifiziert werden, allerdings nur unter Namensnennung, für nicht-kommerzielle Zwecke und unter identischen Bedinungen.

EasyTimeline: Timelines in MediaWiki

image

Für die Visualisierung von zeitgebundenen Fakten bieten sich Zeitleisten (Timelines) an. Von Haus aus hat MediaWiki hier keine Unterstützung zu bieten, aber mit der Extension EasyTimeline kann man Grafiken wie die oben gezeigte per Wiki-Text erstellen und editieren. Diese Methode ist natürlich – wie bei Wikis üblich – relativ technisch und setzt voraus, dass man sich in die Syntax der Extension einarbeitet. Der Aufwand lohnt sich aber, wenn man beispielsweise ein Wiki mit historischen Themen betreibt, einen Projektplan direkt im Wiki pflegen möchte oder (wie oben gezeigt) die Geschichte alle Apple-Macintosh-Computer nachzeichnen will.

Xee: Schneller Bildbetrachter für Mac OS X

Xee Screenshot mit Meerechse (Galapagos)

Sie suchen einen Bildbetrachter für Mac OS X – je einfacher und schneller desto lieber. Er soll lediglich mit vielen Bildformaten umgehen können und nicht nur Bilder in Ordnern, sondern auch in komprimierten Archiven anzeigen können. Rotieren, spiegeln und zuschneiden möchten Sie Ihre Bilder vielleicht noch, aber sicher nicht nachbearbeiten. Was Sie brauchen, ist Xee.

Die Software ist – so steht es unter “About Xee” – vom Bild-Browser ACDsee inspiriert. Das soll nun aber kein Anlass zu falschen Hoffnungen sein: Xee kommt nicht annähernd an dessen Funktionsumfang heran. Weder kann man den Dateibaum parallel geöffnet halten, noch gibt es eine Miniaturansicht – all dies muss man weiterhin mit den Mitteln des Finders bewerkstelligen. Insofern ist Xee wohl als Alternative zu Apples Vorschau sehr zu empfehlen, als Browser für ein grösseres Fotoarchiv hingegen nicht zu gebrauchen (aber dafür hat man auf dem Mac ja iPhoto).

Greenshot: Screenshot-Tool mit integriertem Grafik-Editor

image

Greenshot ist ein schön gemachtes Screenshot-Tool für Windows mit GPL-Lizenz, das nahe an das von mir bevorzugte FastStone Capture (Shareware, USD 19.95) herankommt.

Greenshot wird entweder manuell gestartet oder als Auto-Start-Programm installiert und sitzt dann im System Tray rechts unten. Einen Screenshot kann man entweder per Mausklick oder per Tastaturbefehl starten und dabei einen frei wählbaren Bereich, ein Fenster oder den gesamten Bildschirm abfotografieren.

Das Resultat kann man dann entweder in die Zwischenablage kopieren, in eine Datei schreiben, an einen Drucker senden oder – und das macht dieses Tool besonders interessant – an den eingebauten Grafik-Editor übergeben. Dort kann man den Screenshot rasch zuschneiden, mit elementaren Zeichenwerkzeugen bearbeiten oder mit Text versehen, ohne dass man dafür gleich Photoshop, GIMP oder ein anderes grosses Grafikprogramm anwerfen muss.

image

Greenshot ist ein übersichtliches und praxisorientiertes Tool, das man nur empfehlen kann. Im Vergleich mit dem oben erwähnten FastStone Capture vermisse ich einzig die Lupe, welche beim Abfotografieren eines frei wählbaren Bereichs die exakte Position des Cursors zeigt. Aber was nicht ist kann ja bei einem der nächsten Releases noch werden…

SVG-Vektorgrafiken erstellen mit GLIPS Graffiti Editor

image

SVG (Scalable Vector Graphics) ist ein faszinierendes Grafikformat: Da es auf XML basiert, kann es mit jedem Texteditor bearbeitet werden, und deshalb lässt sich eine SVG-Grafik auch sehr einfach mit einer Skriptsprache wie z.B. PHP manipulieren.

Der einfachste Weg, um eine SVG-Grafik zu erstellen oder zu betrachten führt aber über ein Grafikprogramm. Nebst dem Klassiker Inkscape kann man dafür beispielsweise auch den GLIPS Graffiti Editor nutzen, der sich auf die grundlegenden Funktionen beschränkt und deshalb sehr übersichtlich und leicht zu erlernen ist. Wie viele Java-Programme ist GLIPS ein kleines bisschen träge, dafür läuft es auf allen Betriebssystemen, die Java unterstützen. Als Lizenz kommt die Lesser General Public License (LGPL) zum Einsatz.

css.php