| 

.NET C# Java Javascript Exception

4
Über binäre Prüfsummen kann ich sehr leicht ermitteln, ob zwei Bilder identisch sind oder nicht. Gibt es einen Weg oder einen vordefinierten Algorithmus, der zusätzlich erkennen kann, das Bilder eine sehr große Ähnlichkeit aufweisen und dementsprechend zueinander gehören? Ich möchte den Algorithmus nutzen, um in einer Java-Anwnedung ähnliche Bilder zu gruppieren. Dabei sollte es möglich sein, den prozentualen Anteil der Übereinstimmung vorgeben zu können (z.B. um Serienfotos eines Bildordners zusammenzufassen). Das ganze sollte natürlich eine hohe Verarbeitungsgeschwindigkeit haben.
News:
04.07.2012
sastokes 31 2
3 Antworten
1
Ihr kennt sicherlich tineye ?

Ein möglicher Algorithmus ist SURF, für den es auch Java Implementierungen gibt (siehe unten auf der Seite).
05.07.2012
puls200 3,8k 7
Nein, das kannte ich noch nicht.

Ich würde mir SURF auf jeden Fall mal näher anschauen, sofern im konkreten Projekt das US-Patent auf den Algorithmus entweder nicht von Bedeutung oder für die Lizenzkosten noch Platz im Budget ist.
phg 07.07.2012
0
So etwas würde mich für VB interessieren. Zudem wäre auch eine Ähnlichkeitssuche für Videos ganz interessant. Nur leider habe ich mit Ähnlichkeiten bei binären Daten absolut keine Erfahrung, ich kann nur etwas Grundwissen zur Ähnlichkeitsbehandlung von Strings aufweisen.
04.07.2012
muffi 1,3k 1 9
0
Ich denke das fällt in den Bereich "Image fingerprinting" also du erstellst einen "Fingerabdruck" eines Bildes und suchst dann nach ähnlichen "Fingerabdrücken" bei anderen Bilder. Das ist jetzt nicht gerade ein triviales Problem.

In deinem Fall würde ich spontan mal je einen Fingerabdruck
* der Farben
* der Hellgikeit
* den Kanten
pro Bild erstellen und versuchen diese geschickt zu kombinieren und zu vergleichen.

Wie gesagt, die Problemstellung ist alles andere als trivial und es würde mich sehr wundern wenn ein passender Algorithmus frei verfügbar wäre. Aber eventuell findest du nach einer ausgiebigen Webrecherche doch etwas das ich vor fünf Jahren nicht gefunden habe.
05.07.2012
phg 1,1k 3

Stelle deine Java-Frage jetzt!